Я думаю, что самая важная вещь, которую дает вам mrunit, — это DSL для тестирования задач mapreduce. Модульные тесты должны быть удобочитаемыми и рассказывать историю, поэтому, если у вас есть API, который соответствует предметной области, становится легче писать тесты и понимать их позже.
Другая, возможно, не менее важная вещь заключается в том, что это дает гораздо лучшие ошибки утверждений и различия, чем утверждения JUnit по умолчанию.
Конечно, вы, вероятно, также можете просто придерживаться JUnit, но в конечном итоге вы можете перереализовать большую часть mrunit функционально наполовину.
Но это не или/или, потому что я вижу домен mrunit немного другим. Это заставляет вас думать о своей работе очень просто: если вы вкладываете определенные вещи, вы хотите получить определенные вещи (и, возможно, некоторые счетчики увеличиваются), тогда как тесты JUnit часто проверяют какую-то логику. Так что, конечно, вы можете поместить и протестировать свою логику отдельно (и, вероятно, даже должны, если у вас сложная логика) и использовать mrunit для своего рода тестирования «черного ящика», где вам все равно, где и как реализована логика, пока вы получить правильные результаты для ваших входов.
person
David Ongaro
schedule
17.05.2016