数据库单元测试-测试数据创建
时间:2020-01-09 10:35:38 来源:igfitidea点击:
某些应用程序需要将大量测试数据插入数据库中,以便正确测试应用程序域逻辑。在每个单元测试中设置所有这些数据可能非常麻烦。
相反,我们可以创建一个"测试用例"对象,该对象能够为简单的测试用例设置数据。例如,在数据库中插入一个客户,并选择N个产品,依此类推。
这是一个这样的TestData
类的简单示例。它只是一个标准的Java类,对此没有什么秘密。
public class TestData { public void insertCustomer() { // insert customer logic. } public void insertProducts() { // insert products for customer } pubic void setupCustomerSituation() { // insert customer with several products, in // various configurations. } //etc. }
究竟要放在自己的TestData类中的方法取决于应用程序使用的数据。
另外,我们可能希望某些方法采用参数,而不是例如始终插入硬编码的客户或者产品等。
使用TestData类
一旦有了这样的TestData
类,就可以在单元测试中使用和重用它。 " TestData"类可以包含各种业务方面的复杂测试数据设置,一旦对它们进行了一次编程,就可以轻松地在数据库中进行设置。
这是一个非常简单的用法示例:
@Test public void testIt() { TestData testData = getTestDataInstance(); // get this from somewhere... testData.setupCustomerSituation(); MyOperation operation = new MyOperation(); operation.doIt(); assertTrue(...); //etc. }
TestData类的优点
TestData类的两个主要优点是:
- 测试数据创建可以重复使用。
- 可以记录TestData类,因此每个测试用例都可以解释它设置了哪些数据(业务状况)。