我开始使用java maven项目,我是新手。我使用了spring注释,当我运行我的测试类时,它会出现以下错误。
FirstTryTest.testFirst initializationError(org.junit.runner.manipulation.Filter) java.lang.Exception:找不到匹配的测试 [{ExactMatcher:fDisplayName = testFirst] {ExactMatcher:fDisplayName = testFirst(com.mycompany.test.FirstTryTest)] {LeadingIdentifierMatcher:fClassName = com.mycompany.test.FirstTryTest,fLeadingIdentifier = testFirst]] 来自org.junit.internal.requests.ClassRequest@7b0070 at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:40) 在 或者是.EUnit4。 org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:68) 在 org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
我的测试类看起来像这样。
package com.mycompany.test;
import org.junit.Assert;
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.TestExecutionListeners;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.support.AnnotationConfigContextLoader;
import org.springframework.test.context.support.DependencyInjectionTestExecutionListener;
import com.mycompany.config.AppConfig;
import com.mycompany.service.FirstTryService;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { AppConfig.class }, loader = AnnotationConfigContextLoader.class)
public class FirstTryTest {
@Autowired
private FirstTryService firstTryService;
@Test
public void testFirst() {
Integer rCal = firstTryService.cal(10, 10);
Assert.assertNotNull(rCal);
// System.out.println(rCal);
}
@Test
public void testSecond() {
System.out.println("hello world");
}
}
以下是我的服务和服务impl文件。
package com.mycompany.service;
import org.springframework.transaction.annotation.Transactional;
@Transactional
public interface FirstTryService {
Integer cal(Integer x, Integer y);
}
package com.mycompany.serviceImpl;
import org.springframework.stereotype.Service;
import com.mycompany.service.FirstTryService;
@Service
public class FirstTryServiceImpl implements FirstTryService {
@Override
public Integer cal(Integer x, Integer y) {
Integer calPlus = x + y;
return calPlus;
}
}
如何解决此错误?
答案 0 :(得分:0)
我刚收到你发布的相同错误。然后我发现这个错误是由测试功能中不必要的输入参数引起的。我不能告诉你有同样的原因。但是你可以用我的步骤来获取错误的细节(这似乎是eclipse的一个bug,至少它应该在这个主题上加强)。
在eclipse中,不要单独选择测试功能进行测试,同时选择"在所选项目中运行所有测试" “测试”选项卡上的选项,在单击“运行”后选择“Junit”项目名称>"运行(调试)配置"。
你可以参考我的回答: JUnit testing got initializationError with java.lang.Exception: No tests found matching