代码之家  ›  专栏  ›  技术社区  ›  Amd046

JUnit错误:“未能加载ApplicationContext”

  •  1
  • Amd046  · 技术社区  · 7 年前

    我正在尝试运行简单的测试:

    @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 {
    

    以及一些不同的东西来代替“位置”,例如“类路径”和“文件”

    “ApplicationContext”位于:

    src
        main
            webapp
                WEB-INF
                    applicationContext.xml
    

    但JUnit测试仍然显示:未能加载ApplicationContext

    4 回复  |  直到 7 年前
        1
  •  3
  •   Amd046    7 年前

    在我们意识到构建文件缺少与测试相关的信息后,问题得到了解决。诸如“app.properties”和“applicationContext”之类的信息没有被复制到测试资源中。所以从技术上讲,这些都不在类路径上。

        2
  •  1
  •   Ramesh    4 年前

    “未能加载ApplicationContext”可能是由于其他原因造成的。检查堆栈跟踪并找出此错误的原因。

        3
  •  0
  •   Anshul Sharma    7 年前

    你需要使用 @ContextConfiguration(locations = { "file:./src/main/resources/ApplicationContext.xml" }) 之后 @RunWith(SpringJUnit4ClassRunner.class) .和测试。java文件创建时间 /src/test/java/your-package-name .

        4
  •  0
  •   vhula    7 年前

    您必须在类路径上指定应用程序上下文位置。 src/main webapp/WEB-INF/applicationContext.xml @ContextConfiguration(locations = {"webapp/WEB-INF/applicationContext.xml"}) .