spring maven单元测试

使用maven后目录结构发生改变,spring的配置文件在resource里面,怎么通过junit做单元测试。

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'loginService' is

但是我已经定义了service

4个回答

源代码配置文件和源代码在classes文件夹下,而测试代码配置文件和测试代码在testclasses文件夹下,所以你想进行测试,那么你需要拥有独立的一份测试文件,这样的
好处是测试环境与开发环境有时候可能不同,需要做一些特殊的配置,这样你就需要自己的独立的一份配置文件,放在test/resources目录下即可,这样在test/java下编写测试类,只需要这样写即可。
new ClassPathXmlApplicationContext("testApplicationContext.xml")
"testApplicationContext.xml" 这样书写的前提是你的测试配置文件是直接放在test/resource目录下,如果这个配置文件上还存在其他父目录,只需要直接书写上即可。
如果你不想自己拥有独立的一份配置文件,而是使用源代码中配置的配置文件,可以使用
FileSystemXmlApplicationContext,书写配置文件的绝对路径或相对与项目的相对路径也可以。

[code="java"]
@RunWith(SpringJUnit4ClassRunner.class)
@TestExecutionListeners( { DependencyInjectionTestExecutionListener.class })
@ContextConfiguration(locations={"classpath:/resource/applicationContext-test.xml"})
public class ServiceTest {
......
}
[/code]

这样写,加载配置文件

ServiceTest 里的内容是怎么写的>

自己手动拷贝吧,你用IDE这样做起来很快啊。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问