Итак, у меня есть 2 куска Java кода. Один из них - это небольшой фрагмент исходного кода, а другой - тестовый класс JUnit, с которым я пытаюсь возиться. Однако всякий раз, когда я хочу отладить код, чтобы убедиться, что этот простой код отображается правильно, я получаю исключение NullPointerException при ошибке java .util.ArrayList.forEach (ArrayList. java: 1507).
Вот мой исходный код:
public class sourceCode {
public int mid(int x, int y, int z) {
int m = z;
if (y < z) {
if (x < y) {
m = y;
}
else if (x < z) {
m = x;
}
}
else {
if (x > y) {
m = y;
}
else if (x > z) {
m = x;
}
}
return m;
}
}
Вот мой код тестового примера JUnit:
import static org.junit.jupiter.api.Assertions.*;
import org.junit.Before;
import org.junit.jupiter.api.Test;
public class sourceCodeTest {
public sourceCode sourceCodeVar;
//Test Fixture
@Before
public void setUpBeforeClass() throws Exception {
sourceCodeVar = new sourceCode();
}
@Test
void test() {
//Test Oracle
int oracle = 2;
//Test Case
int middleTest1 = sourceCodeVar.mid(1, 2, 3);
assertEquals(oracle, middleTest1);
}
}
Выводы
Это оба разных файла в одном каталоге, они также были созданы в Eclipse в проекте. Я видел в другом слегка связанном потоке, что это может быть ошибка, связанная с Eclipse, однако после тестирования его на VS Code появляется та же ошибка, которая указывает на то, что это ошибка с моей стороны.
Полагаю, причина, по которой я так растерялся, заключается в том, что код кажется настолько простым, что я не могу точно определить, где я все испортил.