Что мне не хватает в моем тесте JUNIT?

У меня есть следующий тестовый код для класса:

/**
 * Test Class
 */
public class GeneratorTestTest {
    private Generator generator;
    private static BufferedImage testImage;
    private BufferedImage rotatedImageTestResult;

    @Before
    public void setUp() throws Exception {
        generator = new Generator(null, 0);

        File inputFile = new File("src/test/resource/picture.jpg");

        testImage = ImageIO.read(inputFile);
    }

    /**
     * Test method
     */
    @Test
    public void testRotateImageRotateImage() {
        //Line 39
        rotatedImageTestResult = generator.rotateImage(testImage, 0);
        assertTrue(imageEquals(testImage, rotatedImageTestResult));
    }

Я получаю NullPointerException в тестовом методе, когда пытаюсь его запустить. Как пройти тест Junit?

Вот полный журнал исключения:

line 39 is "rotatedImageTestResult = generator.rotateImage(testImage, 0);

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

tgdavies 02.05.2018 01:44

Если вы можете включить трассировку стека, обычно она будет включать несколько файлов, вызвавших сбой. Поскольку исключение нулевого указателя, вероятно, происходит в методе "rotateImage", нам, вероятно, понадобятся номера строк, в которых упоминается файл генератора.

CSLearner 02.05.2018 01:56

ваш setUp, вероятно, еще не запущен. Вам необходимо, чтобы он был помечен как статический.

Mrunal Gosar 02.05.2018 07:52

setUp не должен быть статическим: junit.sourceforge.net/javadoc/org/junit/Before.html

Ray Tayek 02.05.2018 08:27
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
4
69
1

Ответы 1

rotatedImageTestResult = generator.rotateImage(testImage, 0);

В этой строке кода либо "generator" имеет значение null, либо некоторый вспомогательный объект в вашем генераторе имеет значение null, поэтому сам метод "rotateImage" генерирует исключение нулевого указателя.

Или, что более вероятно, OP ошибается в том, какая строка 39.

Nathan Hughes 02.05.2018 03:11

Другие вопросы по теме