Я пытаюсь выполнить модульное тестирование Java, и это то, что я сделал до сих пор:
в файле Test.java:
import java.util.*;
public class Test{
public String getString(int n){
return String.valueOf(n);
}
public int max(int a, int b){
if(a>b) return a;
return b;
}
public int maxOf(int []a){
int max = Integer.MIN_VALUE;
for (int i=0; i<a.length; i++){
if (a[i]>max) max=a[i];
}
return max;
}
public String BMI(int weight, int height){
double BMI = weight/(height*height);
if(BMI < 18.5) return "Insufficient";
else if (BMI>=18.5 && BMI<=22.99) return "Normal";
else if (BMI>=23 && BMI<=24.99) return "Overweight";
return "Fat";
}
}
А затем я написал другой файл с именем Testtest.java в том же каталоге:
import static org.junit.Assert.*;
import org.junit.Test;
public class Testtest{
@Test
void testString(){
Test case1 = new Test();
String result = case1.getString(1);
// System.out.println(result);
assertEquals("1", result);
}
@Test
public void testMax(){
Test newTest = new Test();
int max = newTest.max(2, 4);
assertEquals(4, max);
}
@Test
public void testMaxOf(){
Test newTest = new Test();
int[] anArray = {
10,4,55,66,8,2,33,102
};
int max = newTest.maxOf(anArray);
assertEquals(102, max);
}
@Test
public void testBMI(){
Test newTest = new Test();
String result = newTest.BMI(60, 1.65);
assertEquals("Normal", result);
}
}
В этом каталоге теперь есть следующие файлы:
junit-4.12.jar
hamcrest-core-1.3.jar
Test.java
Testtest.java
Затем я захожу в каталог в командной строке: Сначала я скомпилировал тест.java с javac как обычно, затем я скомпилировал Testtest.java с этим:
javac -cp junit-4.12.jar ;.Testtest.java
и он показывает мне эту ошибку, как указано в названии
Я пробовал это много раз, я знаю, что было бы легче, если бы яиспользовать IDE, но по ряду причин я действительно хочу сделать это, используя только текстовый редактор и командную строку.