Как Вы организуете свои Модульные тесты в TDD?

Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра объекта null.
  2. Доступ или изменение поля объекта null.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросок null как будто это было значение Throwable.

Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null.

Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html

24
задан 4 revs, 2 users 60% 23 May 2017 в 12:13
поделиться

5 ответов

Разделите свои тесты на 2 набора:

  • функциональные испытания
  • тесты единиц

Функциональные испытания являются историей в расчете на пользователя. Модульные тесты на класс. Бывшая проверка, что Вы на самом деле поддерживаете историю, последнее осуществление и документируете Вашу функциональность.

существует один каталог (пакет) для функциональных испытаний. Модульные тесты должны быть тесно связаны с функциональностью, которую они осуществляют (таким образом, они рассеиваются). Вы перемещаете их и осуществляете рефакторинг их, поскольку Вы перемещаете & осуществите рефакторинг свой код вокруг.

14
ответ дан Krzysiek Goj 29 November 2019 в 00:15
поделиться

Менее важная часть организует тесты.

я запускаю путем помещения тестов в класс, который касается класса под тестом, таким образом, com.jeffreyfredrick. Нечто имеет тест com.jeffreyfredrick. FooTest. Но если некоторому подмножеству тех классов будет нужна различная установка тогда, то я перемещу их в их собственный тестовый класс. Я поместил свои тесты в отдельный исходный каталог, но сохраняю их в том же проекте.

более важная часть осуществляет рефакторинг тесты.

Да я пытаюсь осуществить рефакторинг свои тесты, когда я иду. Цель состоит в том, чтобы удалить дублирование в то время как все еще остающийся декларативный и легкий читать. Это верно и в тестовых классах и через тестовые классы. В тестовом классе у меня мог бы быть параметрический метод для создания тестовой фальшивки (насмешка или тупик). Мои тестовые фальшивки являются обычно внутренними классами в тестовом классе, но если я нахожу, что существует потребность, я вытащу их для повторного использования через тесты. Я также создам класс TestUtil с общепринятыми методиками, когда это будет казаться соответствующим.

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

Тесты код.

4
ответ дан Jeffrey Fredrick 29 November 2019 в 00:15
поделиться

Я пишу класс модульного теста для каждого класса в приложении и сохраняю тестовые классы организованными в той же структуре пакета как классы под тестом.

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

3
ответ дан Bill the Lizard 29 November 2019 в 00:15
поделиться

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

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

3
ответ дан Parag 29 November 2019 в 00:15
поделиться

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

Так для модульных тестов I обычно или следовать за основной структурой кода проекта или (иногда, когда вызовы ситуации его) фокусируются на функциональных областях вместо этого.

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

0
ответ дан Ilya Kochetov 29 November 2019 в 00:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: