java maven项目

时间:2017-07-16 04:44:36

标签: java spring maven annotations

我开始使用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;
    }

}

如何解决此错误?

1 个答案:

答案 0 :(得分:0)

我刚收到你发布的相同错误。然后我发现这个错误是由测试功能中不必要的输入参数引起的。我不能告诉你有同样的原因。但是你可以用我的步骤来获取错误的细节(这似乎是eclipse的一个bug,至少它应该在这个主题上加强)。

在eclipse中,不要单独选择测试功能进行测试,同时选择"在所选项目中运行所有测试" “测试”选项卡上的选项,在单击“运行”后选择“Junit”项目名称>"运行(调试)配置"。

你可以参考我的回答: JUnit testing got initializationError with java.lang.Exception: No tests found matching