Объяснение -
- У меня есть файл Java (
Service.java
), содержащий несколько методов (higher(int,int):int
и isPerfectSquare(int):boolean
). - Я создаю тест для этого класса в
ServiceTest.java
, содержащий testHigher()
и testIsPerfectSquare()
. - Если есть ошибка компиляции в одном из двух методов (в
higher
вмой пример), Eclipse все еще запускает тесты, показывая один проход и одну ошибку. Однако компиляция в терминале с использованием следующих результатов приводит к ошибке.
javac -cp out:junit-platform-console-standalone-1.5.2.jar Service.java ServiceTest.java
Это означает, что я не могу выполнить в терминале, используя:
java -jar junit-platform-console-standalone-1.5.2.jar -class-path . --scan-class-path
Вопрос -
Как можно продолжить выполнение теста даже с ошибками компиляции в некоторыхметоды из тестируемого класса (как в Eclipse). Любая помощь будет оценена. Спасибо!
Соответствующий код ниже -
public class Service {
public static int higher(int a, int b) { //has compilation error
if(a > b) {
return a;
}
if(b > a) {
return b;
}
}
public static boolean isPerfectSquare(int n) {
return Math.pow((int)Math.sqrt(n), 2) == n;
}
}
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
class ServiceTest {
@Test
void testHigher() {
assertEquals(5, Service.higher(3, 5));
assertEquals(6, Service.higher(6, 4));
assertEquals(7, Service.higher(7, 7));
}
@Test
void testIsPerfectSquare() {
assertTrue(Service.isPerfectSquare(64));
assertFalse(Service.isPerfectSquare(63));
}
}