Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 未能在Hudson Maven中加载JUnit测试的ApplicationContext,但本地没有问题_Spring_Maven_Junit_Hudson - Fatal编程技术网

Spring 未能在Hudson Maven中加载JUnit测试的ApplicationContext,但本地没有问题

Spring 未能在Hudson Maven中加载JUnit测试的ApplicationContext,但本地没有问题,spring,maven,junit,hudson,Spring,Maven,Junit,Hudson,我已经尝试了我能想到的所有配置(并回顾了StackOverflow的一些答案),但我们所有的测试都显示在Hudson中运行时出现“加载ApplicationContext失败”错误。有趣的是,有些测试似乎运行并通过,而有些测试运行并失败(如预期),但不管怎样,我总是得到所有测试的错误列表。以下是基本配置: @ContextConfiguration(locations = "classpath:/MyTest-context.xml") @RunWith(SpringJUnit4ClassRun

我已经尝试了我能想到的所有配置(并回顾了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测试、在我们的开发环境中运行的测试和在Hudson with Emma中运行的测试之间,所有这些测试都有一种不同的方式,类加载器命令加载库和类。我最后查看了测试结果上的堆栈跟踪,结果在我的本地计算机上,通过POM加载了一个新版本的库,但在Hudson,Emma首先加载了一个旧版本的库。我必须找到并删除旧版本,现在一切正常。

Hmm。。您的问题听起来好像一开始并没有找到应用程序上下文,但不知怎么找到了。我没有遇到这个问题,虽然我们似乎有非常相似的设置,并使用Hudson for CI(还没有时间移动到Jenkins)。如果您使用“maven test”运行测试,测试通过?@gontard Correct,我没有得到错误。您看到该部分了吗?可能是spring和emma clasloader之间不兼容。你能提供你的maven emma插件配置吗?