[英]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.