1

我认为这是一个很长的镜头,但是...

我们有这样的项目结构:

common-library
    - denmark
          - application
    - france
          - application
    - application-xxxxxx
          - application
          - integration-tests

每个应用程序都有不同的配置、翻译、不同的包名等等,但它们几乎是相同的。它们具有相同的功能、相同的用户界面等。

现在,我们只有一个应用程序通过集成测试进行了测试Robotium。有没有办法为其他应用程序“共享”相同的集成测试?

对每个应用程序进行“通用测试”和自定义/特定测试是完美的。有可能吗?

我们正在使用 Maven 和 Jenkins 来满足我们的需求。

欢迎任何其他方法或建议。

4

1 回答 1

0

好吧,假设您只需要维护一组集成测试,我会朝着以下方向发展:

  • 仅包含集成测试的单独 Maven 模块
  • 并且在其中我将介绍多个 maven 配置文件,其中每个配置文件都指定了对仅要测试的模块之一的 maven 依赖项
  • build 可以稍后在配置文件之间切换以仅激活特定的构建

正如一些关于集成测试选项的注释所说(http://docs.codehaus.org/display/MAVENUSER/Maven+and+Integration+Testing),我相信它也会影响这种方法:

这样做的缺点是它倾向于将集成测试与他们试图测试的代码分开。结果,您可能会发现没有人“拥有”集成测试;通常你会有一个人,他的工作是分析集成测试和发现错误。QA 很难,但如果不清楚谁“拥有”测试失败,那就更难了。

另一个问题可能是,如果您在自动更改代码时运行包括集成测试(通过 Jenkins)在内的构建。模块依赖项不会自动启动您的集成测试。相反,您可能需要为每个配置文件定义一个 Jenkins 作业并手动定义正确的作业序列。例如:如果 Jenkins 构建了丹麦应用程序 => 构建集成,使用配置文件丹麦,...

于 2013-08-03T19:07:21.217 回答