Использование метода @Before в JUnit - PullRequest
0 голосов
/ 20 февраля 2012

Я видел этот вопрос: Повторение кода в тестах JUnit ранее сегодня. Как вы пишете этот код при запуске? Вы видите, что есть метод addDrivingRecord(...). Этот метод не существует, когда вы впервые начинаете писать, поэтому вы делаете этот тест, убедитесь, что он работает, затем переходите к методу setUp() или вместо этого ждете, пока вы не напишите метод addDrivingRecord(...), а затем выполните рефакторинг его в @Before? Я объясню дополнительно, если это необходимо.

1 Ответ

4 голосов
/ 20 февраля 2012

Если я правильно понял ваш вопрос, нужно ли вам:

  1. использовать addDrivingRecord в методе теста
  2. убедиться, что он становится зеленым (работает)
  3. refactor addDrivingRecordдля @ Before

или

  1. используйте addDrivingRecord в методе теста
  2. refactor addDrivingRecord для @ Before
  3. убедитесь, что он становится зеленым (это работает)

Если это ваш вопрос, я должен пойти по первому варианту: сначала использовать метод, затем реализовать и перейти к зеленому, а затем рефакторинг вашего теста.

Потому что две причины:

  1. Вы должны тестировать / реализовывать по одной вещи за раз, поэтому вы напишите один метод тестирования.Тогда ты сделаешь это зеленым.Только тогда вы должны написать другой метод и понять, что код может быть реорганизован в @ Before

  2. Хорошей практикой является написание тестовых методов, и только когда вы понимаете, что есть общие вещи, перемещайте их в @До.Таким образом, вы не навязываете ненужные вещи при инициализации.Более того, если вы обнаружите, что для другого теста требуется совсем другой метод @Before, он, вероятно, принадлежит другому классу теста.

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