как выполнить модульное тестирование плагина mojo2 mojo, который проверяет файлы - PullRequest
2 голосов
/ 14 февраля 2010

Я создал maven2 Mojo, который проверяет определенные типы файлов на наличие определенных строк. Он предназначен для использования на этапе тестирования, чтобы сообщать, являются ли эти файлы vaild или нет.

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

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

Спасибо

1 Ответ

0 голосов
/ 15 февраля 2010

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

Кроме того, должны быть и интеграционные тесты, где весь mojo тестируется с реальными файлами, например:

MyMojo mojo = new MyMojo();
// set up input files in test directory
// set up mojo properties if needed
mojo.execute();
// assert results
...