数据驱动测试(二) – 实例

数据驱动测试(二) – 实例

[u][b]特点:[/b][/u]

[list]
[*]1. 工作量小
[*]2. 测试案例很好写
[*]3. 可重复利用
[*]4. 便于持续集成
[/list]

[u][u][b]步骤:[/b][/u][/u]

[list]
[*]步骤一:准备数据库
[*]步骤二:生成测试数据模板
[*]步骤三:准备测试数据
[*]步骤四:导入测试数据
[*]步骤五:准备单元测试
[*]步骤六:执行单元测试
[/list]

[b]步骤一:准备数据库[/b]

INFO -- ERD ==> DDTT_BOOK
INFO -- ERD ==> DDTT_CLASS
INFO -- ERD ==> |-DDTT_STUDENT_CLASS
INFO -- ERD ==> DDTT_SCHOOL
INFO -- ERD ==> |-DDTT_STUDENT
INFO -- ERD ==> |-DDTT_STUDENT_CLASS


[b]步骤二:生成测试数据模板[/b]

由工具自动从数据库中导出,无需任何手工动作。

INFO -- ########## Start to sync table structure ##########
INFO -- D:\research\ddt\dev\bin\test-data-config.properties is loaded from absolute path.

INFO -- ########## Configurations ##########
INFO -- Excel version: 2007
INFO -- Tables and versions: all
INFO -- Processed tables: DDTT_, XXX_
INFO -- Ignored tables: XXX_\S*|YYY_\S*
INFO -- Process child tables: true
INFO -- Disable triggers: false
INFO -- ########## Configurations ##########

INFO -- Test Data: D:\research\ddt\dev\DDT_TEST_DATA.xlsx
INFO -- Load tables from database to memory

INFO -- =========== Start to load tables ... ===========
INFO -- Load meta data for table: DDTT_BOOK [1/5]
INFO -- Load meta data for table: DDTT_CLASS [2/5]
INFO -- Load meta data for table: DDTT_SCHOOL [3/5]
INFO -- Load meta data for table: DDTT_STUDENT [4/5]
INFO -- Load meta data for table: DDTT_STUDENT_CLASS [5/5]
INFO -- =========== End to load tables ===========

INFO -- =========== Start to sync all tables ... ===========
INFO -- To sync the sheet DDTT_BOOK
INFO -- To sync the sheet DDTT_CLASS
INFO -- To sync the sheet DDTT_SCHOOL
INFO -- To sync the sheet DDTT_STUDENT
INFO -- To sync the sheet DDTT_STUDENT_CLASS
INFO -- =========== End to sync all tables ===========

INFO -- All test data cells are protected, password is 'password'
INFO -- Updating the Master Config sheet ...
INFO -- ########## Table structure is sync successfully. ##########



[b]步骤三:准备测试数据[/b]

[img]http://dl2.iteye.com/upload/attachment/0094/9397/f579134b-036c-3dd5-82d2-a93e288607b6.jpg[/img]

[b]步骤四:导入测试数据[/b]

INFO -- ########## Start to sync test data ##########
INFO -- D:\research\ddt\dev\bin\test-data-config.properties is loaded from absolute path.

INFO -- ########## Configurations ##########
INFO -- Excel version: 2007
INFO -- Tables and versions: all
INFO -- Processed tables: DDTT_, XXX_
INFO -- Ignored tables: XXX_\S*|YYY_\S*
INFO -- Process child tables: true
INFO -- Disable triggers: false
INFO -- ########## Configurations ##########

INFO -- Test Data: D:\research\ddt\dev\DDT_TEST_DATA.xlsx

INFO -- =========== Start to get records ==========
INFO -- Get record list of sheet=DDTT_BOOK, version=all
INFO -- Get record list of sheet=DDTT_CLASS, version=all
INFO -- Get record list of sheet=DDTT_SCHOOL, version=all
INFO -- Get record list of sheet=DDTT_STUDENT, version=all
INFO -- Get record list of sheet=DDTT_STUDENT_CLASS, version=all
INFO -- =========== Get records successfully ==========

INFO -- =========== Start to clear records ==========
INFO -- Clear DDTT_BOOK starts.
INFO -- Clear DDTT_BOOK finished. 3 record(s) are deleted.
INFO -- Clear DDTT_CLASS starts.
INFO -- Clear DDTT_STUDENT_CLASS starts.
INFO -- Clear DDTT_STUDENT_CLASS finished. 2 record(s) are deleted.
INFO -- Clear DDTT_CLASS finished. 2 record(s) are deleted.
INFO -- Clear DDTT_SCHOOL starts.
INFO -- Clear DDTT_STUDENT starts.
INFO -- Clear DDTT_STUDENT finished. 2 record(s) are deleted.
INFO -- Clear DDTT_SCHOOL finished. 2 record(s) are deleted.
INFO -- =========== Clear records successfully ==========

INFO -- =========== Start to insert records ==========
INFO -- Insert DDTT_BOOK starts.
INFO -- Insert DDTT_BOOK finished. 3 record(s) are inserted.
INFO -- Insert DDTT_CLASS starts.
INFO -- Insert DDTT_CLASS finished. 2 record(s) are inserted.
INFO -- Insert DDTT_SCHOOL starts.
INFO -- Insert DDTT_SCHOOL finished. 2 record(s) are inserted.
INFO -- Insert DDTT_STUDENT_CLASS starts.
INFO -- Insert DDTT_STUDENT starts.
INFO -- Insert DDTT_STUDENT finished. 2 record(s) are inserted.
INFO -- Insert DDTT_STUDENT_CLASS finished. 2 record(s) are inserted.
INFO -- =========== Insert records successfully ==========

INFO -- ########## Test data is sync successfully! ##########



[b]步骤五:准备单元测试[/b]

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:bean-ddtt-test.xml")
public class StudentServiceTest extends AbstractTransactionalJUnit4SpringContextTests {

@Resource
private StudentService studentService;

@Test
//DDTT v0.001
public void findStudentTest() {
//this case will find a issue: RowMapper doesn't work for no record found case
StudentTO to = studentService.findStudent(1234567890);
Assert.assertNull(to);

to = studentService.findStudent(1);
Assert.assertNotNull(to);
Assert.assertEquals(to.getName(), "Jason");
}

@Test
//DDTT v0.002
public void deleteStudentTest() {
studentService.deleteStudent(2);

StudentTO to = studentService.findStudent(2);
Assert.assertNull(to);
}

}


[b]步骤六:执行单元测试[/b]

[img]http://dl2.iteye.com/upload/attachment/0094/9399/34e2e43d-55e2-3e0f-ba43-60cb875c0f52.jpg[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值