Я видел этот вопрос: Repeating code in JUnit tests ранее сегодня. Как вы пишете этот код при запуске? Вы видите, что существует метод addDrivingRecord(...)
. Этот метод не существует, когда вы впервые начинаете писать, поэтому выполняете ли вы этот тест, убедитесь, что он работает, а затем выполните метод setUp()
, или вместо этого вы ждете, пока не написали метод addDrivingRecord(...)
, а затем реорганизовали его на @Before
? При необходимости я объясню дальше.Использование метода @Before в JUnit
ответ
Если я хорошо понял ваш спрашивать, если вам необходимо:
- использование addDrivingRecord в тестовом методе
- убедиться, что он идет зеленый (он работает)
- рефакторинг addDrivingRecord в @Before
или
- use addD rivingRecord в методе испытания
- рефакторинга addDrivingRecord в @Before
- убедиться, что он идет зеленый (работает)
Если это ваш вопрос, я должен идти на первый вариант: первый метод использования, а затем осуществить и идти зеленый, а затем реорганизовать ваш тест.
, потому что две причины:
Вы должны проверить/реализовать одну вещь в то время, так что вы будете писать один метод испытания. Тогда вы сделаете его зеленым. Только тогда вы должны написать другой метод и понять, что код может быть реорганизован в @Before
Хорошая практика - это методы тестирования записи, и только когда вы понимаете, что общие вещи перемещают их на @Before. Таким образом, вы не применяете интуитивные вещи при инициализации. Более того, если вы обнаружите, что другой тест нуждается в очень другом методе @Before, он, вероятно, принадлежит другому тестовому классу.
Так что ваш вопрос «должен ли я использовать addDrivingRecord в методе испытаний/реализации addDrivingRecord/убедиться, что он работает/рефакторинг» или я должен сначала реорганизовать addDrivingRecord, а затем реализовать его? – helios
Я не уверен, но если ваш вопрос о методологии, вы можете перенаправить его как tdd (или test-driven-development). – helios
Если вы пишете новый тестовый класс, зачем писать что-нибудь, когда вы знаете, что собираетесь реорганизовать в любом случае? Я не уверен, правильно ли понимаю ваш вопрос, но нужно ли писать новый тест или рефакторинг старого, результаты теста должны быть одинаковыми. Так что сделайте все рефакторинг, затем тестирование. – steffinchen