I've tried to load the spring config file in src/test/resources classpath with the following abstract class:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:/applicationContext.xml"})
public class BaseIntegrationTests {
}
I have the applicationContext.xml file in src/test/resources but spring cant load it.
Thank you.
To be precise, it's the content of the test output directory (target/test-classes
) that is on the class path, not src/test/resources
. But resources under src/test/resources
are copied to the test output directory by the resources:testResources
goal (which is bound by default to the process-test-resources
phase).
Having that said, your code looks fine and resources for the test source code should have been copied either by your IDE or by Maven when running tests and should thus be available on the class path. So there must be something else wrong. I can see that your class is a base class for integration tests. Did you configure anything fancy in your pom? Can you show it?
Try by using * so that it can search to your classpath
@ContextConfiguration(locations={"classpath*:applicationContext.xml"})
There is a reported bug with using the spring-test dependency (includes SpringJUnit4ClassRunner) with versions of JUnit > 4.4.
If you are using a version of JUnit newer than 4.4, trying moving that down to 4.4 and see if it solves your problem.
your application context must be included in classpath and put * :
@ContextConfiguration(locations = { "classpath:*/application-context.xml" })
You seem to be using maven, and trying to run the tests from within eclipse. Check the buil folder (target/test-classes/
) for applicationContext.xml
. If it is not there, you'd have to build first.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With