Junit--no tests found matching 问题解决

    今天使用Junit-4.12的时候,程序总是报错,看了许多博客,有说是jar包没导的,又说是eclispe本身错误的,弄了半天,结果竟然是我的测试方法test01竟然有返回值,导致junit运行失败。。。。。。,太失败了

下面是我参考的一位老哥的博客,由于不是一个平台的博客不能转载,就拷贝过来了,侵删!

---------------------------------------------------------------------------------------------------------------------------------------------------

junit的问题No tests found matching

敲代码经常出现这个错误,自己有时候也不知道为什么,把遇到问题怎么解决总结一下吧

运行junit方法,报错:

TestMistake.getDocumentByName
initializationError(org.junit.runner.manipulation.Filter)
java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=getDocumentByName], {ExactMatcher:fDisplayName=getDocumentByName(TestMistake)], {LeadingIdentifierMatcher:fClassName=TestMistake,fLeadingIdentifier=getDocumentByName]] from org.junit.internal.requests.ClassRequest@23ab930d 
at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:40) 
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:678) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) 

1.代码一:使用了static关键字

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

@Test

  public void getDocumentByName() {

      Bson filters = Filters.eq("name""qinqin");

      FindIterable<Document> findIterable = dbCollection.find(filters);

      MongoCursor<Document> mongoCursor = findIterable.iterator();

      while (mongoCursor.hasNext()) {

          System.out.println(mongoCursor.next());

      }

      System.out.println("查询成功");

  }

 

 

  /**

   * 提供一个静态方法查询文档

   *

   * @param name

   */

  @Test

  public static List<Document> getDocumentByName(String name) {

      Bson filters = Filters.eq("name", name);

      FindIterable<Document> findIterable = dbCollection.find(filters);

      List<Document> list = findIterable.into(new ArrayList<Document>());

      return list;

  }

  自己误在static方法加上@Test,所以导致一直报这个错误。

去掉之后就运行正常了。

 

2.未导入org.hamcrest/hamcrest-core/1.3包,导入后正常

 

3.Junit4 测试方法必须用public void修饰

    @Test
    private void test() {
        System.out.println(111);
    }

把private方法换成public运行良好

 

4.此处代码没有错,本类的其他测试代码有误

 @Test
    public void testFields() {
        Field[] fields = User.class.getFields();
        for (Field field : fields) {
            System.out.println(field);
        }
    }

    @Test
    protected void testDeclaredMethods() {
        Method[] dMethods = User.class.getDeclaredMethods();
        for (Method method : dMethods) {
            System.out.println(method);
        }
    }

测试testFileds报错,改掉testDeclaredMethods前的protected为public就行了

  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值