自动API稳定性测试

时间:2012-11-29 22:49:07

标签: java spring maven jetty automated-tests

我有一个我想测试API稳定性的webapp。

为了测试API,我依赖于包含由我的API编写的域对象的项目,我调用api并尝试将对象(使用spring RestTemplate)反序列化到域对象中。

在开发新版本的API时,将使用更新版本的域对象项目。 这是该场景的图片: enter image description here

现在,我想要一种针对构建服务器上的给定webapp运行测试项目的自动方式(在本例中为Jenkins,使用maven或ant)。问题是他们共享一个不同版本的依赖(所以我不能一起构建它们)。

我目前的方法是构建webapp,将其部署在一个码头中,然后尝试运行测试。事实证明这很难。

如何解决这个问题呢?以前的经历?

1 个答案:

答案 0 :(得分:0)

为什么webapp-tests依赖于1.2-SNAPSHOT上的域1.1和webapp-api? webapp-tests工件不应该依赖于与webapp-api相同的常见依赖关系吗?如果它只是使用不同版本的相同工件,则可以将其配置为属性。但我认为最好还将webapp-api添加到项目中,以便共享通用版本:

  • 域(版本)
  • webapp-api(取决于域名)
  • webapp-tests(取决于域名,测试webapp-api)

所有共享相同的父版本和相同的版本。

如果您想针对之前发布的版本(或其中一个)进行测试,则需要执行与cobertura-plugin类似的操作:http://mojo.codehaus.org/cobertura-maven-plugin/ 这意味着要编写一个插件。

您是否尝试将要测试的依赖项添加到maven配置文件中,以便webapp-tests使用不同版本的域再次运行webapp-api?所以你可以重新运行激活不同配置文件的测试。

我可能只是错了:) 如果webapp-tests应该包含不同的版本,那么不要让它依赖于webapp-api或域项目?由于你进行了休息测试,因此没有可能干扰依赖的公共类路径吗?