似乎没有任何作用
我试图进行简单的测试:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"/applicationContext.xml"})
@Transactional
public class EmailServiceTest {
我也尝试过:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"src/main/webapp/WEB-INF/applicationContext.xml"})
@Transactional
public class EmailServiceTest {
除了一些不同的东西代替"位置,"例如" classpath"和"文件。"
" ApplicationContext"位于:
src
main
webapp
WEB-INF
applicationContext.xml
但JUnit测试仍然说:无法加载ApplicationContext
答案 0 :(得分:2)
在我们意识到我们的构建文件缺少与测试有关的信息后,问题就解决了。诸如" app.properties"等信息;和"的applicationContext"没有被复制到测试资源中。从技术上讲,这些都不属于类路径。
答案 1 :(得分:1)
由于其他原因,可能会发生“无法加载ApplicationContext”。遍历stacktrace并找到导致此错误的原因。 就我而言,出现此错误是因为我在应用程序上下文xml文件名中输入错误。
答案 2 :(得分:0)
您需要在@ContextConfiguration(locations = { "file:./src/main/resources/ApplicationContext.xml" })
之后使用@RunWith(SpringJUnit4ClassRunner.class)
。和test.java文件在/src/test/java/your-package-name
创建。
答案 3 :(得分:0)
您必须在类路径上指定应用程序上下文位置。 src/main
被添加到类路径中。因此,您只需指定webapp/WEB-INF/applicationContext.xml
,如下所示:@ContextConfiguration(locations = {"webapp/WEB-INF/applicationContext.xml"})
。