gpt4 book ai didi

spring - 无法在 Hudson Maven 中为 JUnit 测试加载 ApplicationContext,但本地没有问题

转载 作者:行者123 更新时间:2023-12-01 14:37:49 29 4
gpt4 key购买 nike

我已经尝试了几乎所有我能想到的配置(并查看了 StackOverflow 上的一些答案),但是我们所有的测试在通过 Hudson 运行时都显示“无法加载 ApplicationContext”错误。有趣的是,有些测试似乎运行并通过,而有些测试运行并失败(如预期的那样),但无论如何我总是得到所有测试的错误列表。这是基本配置:

@ContextConfiguration(locations = "classpath:/MyTest-context.xml")
@RunWith(SpringJUnit4ClassRunner.class)
public class MyTest {

@Autowired
private ApplicationContext applicationContext;

public MyTest() {}

@Test
public void doSomething() {
// Implementation...
}
}

更新:

似乎有一组重复的测试在运行,一个用于 Emma 覆盖率报告,另一个用于正常测试。正是在为 Emma 覆盖率运行测试时,它们才显示错误。如果我关闭“emma:emma package”目标,那么它们就不会运行,那么我就不会收到错误,并且测试似乎运行良好。我不确定这是否有帮助。

最佳答案

答案最终接近于 gontard 所指的,这是一个隐藏在 Emma 的类加载器工作方式中的问题。在我的本地 JUnit 测试、在我们的 DEV 环境中运行的测试以及在 Hudson 和 Emma 中运行的测试之间,所有这些测试都有不同的类加载器命令加载库和类的方式。我最终查看了测试结果的堆栈跟踪,结果在我的本地,一个新版本的库是通过 POM 加载的,但在 Hudson Emma 中首先加载了一个旧版本的库。我必须找到并删除旧版本,现在一切正常。

关于spring - 无法在 Hudson Maven 中为 JUnit 测试加载 ApplicationContext,但本地没有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12008710/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com