繁体   English   中英

JUnit-没有可运行的方法

[英]JUnit - No runnable methods

我正在尝试使用NetBeans运行junit测试的示例,但是尽管据我所知实际上确实有可运行的方法,但我总是收到“没有可运行的方法”错误。 我在这里找到了以下示例: https: //www.tutorialspoint.com/junit/junit_basic_usage.htm您能否建议我如何解决此问题? 错误包TestPackage 的屏幕截图

public class ClassToTest {

   private String message;

   //Constructor
   //@param message to be printed

   public ClassToTest(String message){
      this.message = message;
   }

   // prints the message

   public String printMessage(){
      System.out.println(message);
      return message;
   }
}

//---------------------------------------------------------------------

package TestPackage;
import org.junit.Test;
import static org.junit.Assert.assertEquals;

public class TestJuniit {

   String message = "Hello World";
   ClassToTest ClassToTest = new ClassToTest(message);

   @Test
   public void testPrintMessage() {
      assertEquals(message,ClassToTest.printMessage());
   }
}

//---------------------------------------------------------------------

package TestPackage;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
public class TestRunner {

    public static void main(String[] args) {
      Result result = JUnitCore.runClasses(TestJuniit.class);

      for (Failure failure : result.getFailures()) {
         System.out.println(failure.toString());
      }

      System.out.println(result.wasSuccessful());
    }

}

最近,我在IntelliJ上遇到了同样的情况,原因是我的测试类未遵循命名约定,据我所知,它以“ Test”或“ TestCase”结尾。 在您的示例中,您没有遵循该约定,也许是原因所在?

在IntelliJ中为我运行并通过。

我将类和测试放在同一包中-一个放在/ src / java下,另一个放在test / java下。

package cruft;

/**
 * Created by Michael
 * Creation date 3/24/2018.
 * @link https://stackoverflow.com/questions/49465133/junit-no-runnable-methods?noredirect=1#49465133
 */
public class ClassToTest {

    private String message;
    public ClassToTest(String message){
        this.message = message;
    }

    public String printMessage(){
        System.out.println(message);
        return message;
    }
}

带有更正的测试班:

package cruft;

import org.junit.Assert;
import org.junit.Test;

/**
 * Created by Michael
 * Creation date 3/24/2018.
 * @link https://stackoverflow.com/questions/49465133/junit-no-runnable-methods?noredirect=1#49465133
 */
public class ClassToTestTest {

    @Test
    public void testPrintMessage() {
        // setup
        String message = "Hello World";
        ClassToTest classToTest = new ClassToTest(message);
        // exercise
        // assert
        Assert.assertEquals(message,classToTest.printMessage());
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM