如何重用单元测试进行集成测试

时间:2011-05-25 12:22:44

标签: unit-testing testing junit integration-testing

我的应用程序有一个自定义服务器组件。

我们有一些JUnit测试用例用于JMockit的业务逻辑,以模拟数据库层。

对于集成测试,我们最终需要检查很多类似的条件。唯一的区别是我需要序列化东西并发送到套接字而不是只是打电话。

是否有任何(简单)方法来推广测试,以便我可以为两个测试指定一次这些条件?

3 个答案:

答案 0 :(得分:1)

 > Is there any (simple) way to generalize the tests so that I can 
 > specify those conditions once for both tests?

您可以将测试放入具有构造辅助对象的虚拟FactoryMethod的基类中。

您的unittest和integrationtest继承自该类。 FactoryMethod的实现创建了一些mock或一些真实对象。

答案 1 :(得分:0)

您可以将规则添加到可以从集成测试和单元测试中引用的文件中。

你应该用某种特定领域的语言来编写它,非技术利益相关者可以阅读,但也可以解析,例如:

discount: 10% for: orders over $10
discount: 20% for: orders over $40
discount: 30% for: orders over $100

答案 2 :(得分:0)

您的单元和集成测试只是另一段代码,需要应用您的主流代码的标准概念。因此,编写可重用代码,使用设计模式,编码到接口以及最终连续重构等内容也适用于测试。

以下SO主题有更多建议:

  1. Re-using code in unit tests
  2. Unit-Test, Integration test or problem in design?
  3. 希望有所帮助。