在進行簡單的Junit單元測試時,測試一直報錯:
先來看一下我的單元測試類:
import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import com.cn21.tinyProject.dao.mapper.FlowProductInfoMapper; /** * <p> * 流量接口測試類 * <p> * * @author <a href="mailto:yangkj@corp.21cn.com">yangkj</a> * @version * @since 2017年3月13日 */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpath:applicationContext.xml" }) public class FlowServiceImplTest { @Autowired private FlowProductInfoMapper flowProductInfoMapper; @Test public void run() { System.out.println("xsxs"); } }
能看到同時使用了:spring-test(版本:4.2.0.RELEASE)和Junit(版本:4.10)
異常信息如下:
java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=test], {ExactMatcher:fDisplayName=test(com.cn21.tinyProject.service.FlowServiceImplTest)], {LeadingIdentifierMatcher:fClassName=com.cn21.tinyProject.service.FlowServiceImplTest,fLeadingIdentifier=test]] from org.junit.internal.requests.ClassRequest@787ad957
at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:35)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createFilteredTest(JUnit4TestLoader.java:77)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:68)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
這個異常很奇怪,自信這么簡單的代碼應該不會有錯的,網上找了相同的異常,大家說是spring-test的版本問題。
於是自己將Spring-test的版本修改一下(改為4.1.0.RELEASE),發現運行正常。
