Проблема тестирования Java Junit - PullRequest
7 голосов
/ 21 марта 2010

Я использую Junit 4. Вся моя программа работает нормально. Я пытаюсь написать контрольный пример. Но есть одна ошибка ...

вот очень простой пример теста

public class di  extends TestCase{
    private static Records testRec;
    public void testAbc() {
        Assert.assertTrue(
            "There should be some thing.",
            di.testRec.getEmployee() > 0);
    }

}

и когда я запускаю это, это выдает мне ошибку,

fName can not be null

если я использую супер и делаю так

public TestA() {
super("testAbc");
}

все работает нормально. Это не было раньше с JUnit 3.X я делаю не так или они это изменили :( Извините если мне непонятно

Есть ли способ выполнить тест без супер? или вызывая функции и т. д.?

Ответы [ 2 ]

16 голосов
/ 21 марта 2010

В JUnit 4 вам не нужно расширять TestCase, вместо этого используйте аннотацию @Test, чтобы отметить ваши методы тестирования:

public class MyTest {
    private static Records testRec;
    @Test
    public void testAbc() {
        Assert.assertTrue(
            "There should be some thing.",
            MyTest.testRec.getEmployee() > 0);
    }
}

В качестве примечания, тестирование члена static в вашем классе может сделать ваши юнит-тесты зависимыми друг от друга, что не очень хорошая вещь. Если у вас нет веских причин для этого, я бы порекомендовал удалить квалификатор static.

0 голосов
/ 29 ноября 2016

Это не ваш случай, но эта ошибка также может означать, что в вашем проекте есть файл с именем Test.java.Переименование исправит ошибку, но после рефакторинга @Test будет изменено на @NewName (по крайней мере, в Eclipse), поэтому не забудьте вручную изменить его на @Test.

...