-1

大家好,我有一个问题,我在 Eclipse 中运行我的测试(不使用 maven,只需右键单击运行测试)而不是将项目推送到 git 存储库。之后 Jenkins 拉出这些测试并使用 mvn test(使用 maven 3)运行它们。这里我有一些问题 1. 我在 eclipse 中使用 junit 4 我在 5 测试上添加了 @Ignore 注释,以查看我所有的测试都通过了。这是她的结果。

Eclipse:运行 407/407(忽略 5 个)

Jenkins(使用 Maven):测试运行:396,失败:3,错误:1,跳过:5

Windows 上的 Maven:测试运行:407,失败:9,错误:0,跳过:5

有人可以向我解释为什么会发生这种情况。

另一个可能相关的问题是我创建的所有测试扩展类,在他的声明中具有以下注释

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration("classpath:context.xml")

我在这个类中以任何方式创建了用于数据库初始化的@BeforeClass 方法,但是当它在 jenkins 中运行时,不会调用此方法,或者 atleaset hes 日志记录不起作用。

4

1 回答 1

0

如果没有看到失败和 pom 的测试,就不能说太多。几种可能性:

  • 类路径配置错误
  • 测试使用正在使用操作系统特定符号寻址的文件或其他资源
  • 测试相互依赖,并以随机顺序运行
  • 一个测试被执行多次(例如,因为它们继承自其他测试)并且不同的工具会以不同的方式报告它

也许是以上的组合

于 2012-12-09T17:08:56.390 回答