1
2
在我们的项目中,我们有单独的常规/普通单元测试套件和单独的集成测试套件。有两个原因:
我们使用TeamCity作为主要的持续集成服务器,使用Maven作为构建系统。我们使用以下算法运行测试:
触发集成测试执行的方法是将TeamCity的integration.tests任务配置为依赖于“main”continous.build任务,有关详细信息,请参阅此处: http://confluence.jetbrains.net/display/TCD4/Dependencies+Triggers 我们只通过以下方式运行集成测试(不包括单元测试):
|
2
3
我们使用maven2:maven surefire插件运行单元测试(在测试阶段)和maven failsafe插件进行集成测试(集成测试阶段)。 默认情况下,所有测试在项目生成时运行,但是可以使用配置文件关闭集成测试。 在许多情况下,集成测试是模块的一部分,在某些情况下,还有专门的模块只做集成测试。 其中一个团队还使用fitnesse进行验收测试。这些测试也在专用模块中。 我们用哈德逊做ci。 |
3
1
我们在一个巨大的套件中运行所有的测试。跑步需要7分钟。 我们的集成测试创建模拟服务器。它们从不超时——除非测试要求服务器超时。 所以我们有以下几种情况。(代码示例是python)
这有一些限制——它总是为每个测试派生客户机模拟服务器。有时候没关系,有时候开始和停止太多了。 我们还有以下几样东西
为了支持这种测试,我们有许多用于各种集成测试的模拟服务器。 |
4
0
我们使用 詹金斯 自动运行我们的测试。 注意单元测试和集成测试之间的差异。谈论“集成单元测试”令人困惑 马文 为区分单元测试和集成测试提供了良好的支持- Failsafe&SureFire插件。 来自apache maven项目: failsafe插件设计用于运行集成测试,而surefire插件设计用于运行单元测试。 (见: http://maven.apache.org/surefire/maven-failsafe-plugin/ ) 您需要在pom.xml中配置这些插件
你就只能用
单元测试应每隔15分钟定期进行一次f.i.。 集成测试,通常需要很长时间,应该每24小时运行一次f.i.。 希望能帮助别人。 |