gpt4 book ai didi

java - 在一个测试中我可以找到一个 xml,在另一个测试中我找不到

转载 作者:行者123 更新时间:2023-12-01 15:32:46 26 4
gpt4 key购买 nike

我有一个有趣的问题,我在 spring-conf.xml 文件中定义了两个 Web 服务,并且有两个测试类位于同一个包中,并且每个类都有自己的到此 spring-conf.xml 文件的链接调用他们特定的网络服务。我可以从我的一个测试类中获取 Bean,但不能从另一个测试类中获取 Bean,并且两个类中的代码是相同的。

我有这个

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class WSFirstTest {

private ApplicationContext context = new ClassPathXmlApplicationContext(
"WEB-INF/spring-conf.xml");
private WSFirst ws = (WSFirst) context
.getBean("serviceFirstDefault");

在另一处我有这个

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class WSSecondTest {

private ApplicationContext context2 = new ClassPathXmlApplicationContext(
"WEB-INF/spring-conf.xml");
private WSSecond ws = (WSSecond) context2
.getBean("serviceSecondDefault");

在第二个程序中,我的程序找不到 spring-conf 文件,但在另一个程序中可以找到。有什么问题吗?

PS 当我从远程调用它们时,这两个 wservice 都工作正常,只有在本地我才遇到这个问题。

测试错误:

org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [WEB-INF/spring-conf.xml]; nested exception is java.io.FileNotFoundException: class path resource [WEB-INF/spring-conf.xml] cannot be opened because it does not exist

感谢您的建议。

最佳答案

据我所知,Spring 会解释应用程序上下文路径,而无需将“/”开头作为定义测试类的同一包中的相对路径,并且以“/”开头的路径作为完全限定的类路径位置(至少在 testing environment 中)。也许您应该尝试使用开头的“/”。

事实证明,不同的测试运行配置导致了该问题(请参阅下面的评论)。

关于java - 在一个测试中我可以找到一个 xml,在另一个测试中我找不到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9377697/

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