没有可运行的方法 junit/java
No runnable method junit/java
我正在尝试 运行 测试以比较用户输入的字数是否与指定的预期长度 (4) 相同。
我右键单击 NetBeans 中的源文件和 select“测试文件”,但由于某种原因,我不断收到错误消息:“没有 运行nable 方法”一?谁能给我解释一下这是怎么回事?
import java.util.Scanner;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
public class UserMainTest {
@Test
public void testMain() {
Scanner input = new Scanner(System.in);
String line = "";
line = input.nextLine();
String arr [] = line.split(" ");
int expected = 4;
int actual = arr.length;
assertEquals(expected, actual);
}
}
- 如果你稍微改一下你的代码,改一下,就可以这样
@DisplayName("testMain")
@ParameterizedTest
@ValueSource(strings = {"1 2 3 4"})
public void testMain(String line){
String arr[]=line.split(" ");
int expected=4;
int actual=arr.length;
assertThat(expected).isEqualTo(actual);
}
- 如果你使用的是junit4,你可能会报错
如果你使用 junit5 import org.junit.jupiter.api.Test.
JUnit 4 org.junit.Test
Junit 5 import org.junit.jupiter.api.Test
我正在尝试 运行 测试以比较用户输入的字数是否与指定的预期长度 (4) 相同。
我右键单击 NetBeans 中的源文件和 select“测试文件”,但由于某种原因,我不断收到错误消息:“没有 运行nable 方法”一?谁能给我解释一下这是怎么回事?
import java.util.Scanner;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
public class UserMainTest {
@Test
public void testMain() {
Scanner input = new Scanner(System.in);
String line = "";
line = input.nextLine();
String arr [] = line.split(" ");
int expected = 4;
int actual = arr.length;
assertEquals(expected, actual);
}
}
- 如果你稍微改一下你的代码,改一下,就可以这样
@DisplayName("testMain")
@ParameterizedTest
@ValueSource(strings = {"1 2 3 4"})
public void testMain(String line){
String arr[]=line.split(" ");
int expected=4;
int actual=arr.length;
assertThat(expected).isEqualTo(actual);
}
- 如果你使用的是junit4,你可能会报错 如果你使用 junit5 import org.junit.jupiter.api.Test.
JUnit 4 org.junit.Test
Junit 5 import org.junit.jupiter.api.Test