Normally, the way to configure the Junit test case is:
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations={"config.xml"}) public class MessageServiceTest { private static final Logger logger = Logger.getLogger(MessageServiceTest.class); //MessageService service = new MessageServiceImpl(); @Autowired MessageService service; @Test public void sendMessageTest() { //TODO-something } }
If we are not clear of how spring look for context file, it's boring to have exceptions files not found blablabla...
Just make a summary here:
@ContextConfiguration(locations={"config.xml"})
=>This means to look for config.xml under the test package that holds currently running test case.@ContextConfiguration(locations={"/config.xml"})
@ContextConfiguration(locations={"classfile:config.xml"})
=>These two equals, means to look for config.xml under the classpath. It could be under either 'src/main/resources' or 'src/test/resources' (By default) (If you change the classpath, then configure based on your own configuration.)@ContextConfiguration(locations={"file:src/main/webapp/config.xml"})
=>This means to look for config.xml based on relative path to the project's base directory.If wanna configure multiple config files, then
@ContextConfiguration ( { "classpath:beans.xml", "file:src/main/webapp/spring/applicationContext.xml", "file:src/main/webapp/spring/domain-config.xml", "file:src/main/webapp/spring/dispatcher-servlet.xml" } )
Good Luck!
No comments:
Post a Comment