Netbeans: как изменить шаблон именования, используемый для идентификации testSuites - PullRequest
1 голос
/ 30 апреля 2011

У меня есть множество JUNIT TestSuites с суффиксом «Тесты».Eclipse распознает метод static suite () и делает доступным параметр запуска теста в проводнике пакетов.Однако то же самое не относится к NetBeans, который дает мне только вариант контекстного меню «Выполнить» по умолчанию.Однако я заметил, что он распознает любой класс, который использует «TestSuite» в качестве суффикса в качестве набора тестов.Я новичок в NB 7.0 и не могу узнать, как изменить шаблон или как заставить NB работать так же, как Eclipse.

Ответы [ 2 ]

1 голос
/ 23 января 2012

Хорошо, на самом деле, я понял это, копаясь, пытаясь решить мою собственную проблему.В Vanilla NetBeans используется муравей, поэтому этот вопрос на самом деле является вопросом муравья.Если вы посмотрите в каталог проекта, мы увидим, что есть файл build.xml.Это основной файл, который указывает муравью, что делать.Если мы посмотрим в файл, мы увидим, что его основная функция заключается вфайл nbproject / build-impl.xml.Итак, что нам нужно, это здесь.Мы можем использовать этот файл, чтобы переопределить функциональность реализации по умолчанию.

Если вы покопаетесь в файле build-impl.xml, вы попадете в раздел junit.Ищите этот раздел:

<target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
    <j2seproject3:junit testincludes="**/*Test.java"/>
</target>

Это раздел, который на самом деле выполняет тесты, и он находится в небольшом блоке xml, что именно то, что нам нужно, потому что мы пытаемся переопределить только один маленькийнемного.Как мы надеемся, вы можете видеть, что мы сопоставляем (рекурсивно) только те имена файлов, которые соответствуют шаблону "* Test.java".Итак, в вашем случае вы бы отредактировали (или добавили) к этому шаблон «TestSuite.java».Не добавляйте эту строку в этот файл, поскольку он может быть скрыт, так как это автоматически сгенерированный файл.Вместо этого скопируйте весь этот бит в фактический файл build.xml, и я думаю , что его нужно вставить вышедиректива, поэтому она будет иметь приоритет.(Может быть, нет, попробуйте это ниже, если это не сработает.)

Теперь, вот хитрый момент, у NetBeans есть собственный бегун junit,тег.Не углубляясь еще дальше, чтобы увидеть, как передать ему аргументы, мы не знаем точно, как добавить аргументы к нему, но для вашего случая это нормально, нам не нужно добавлять один, мы можем заставить его работать, просто отредактировав его.

<target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
    <j2seproject3:junit testincludes="**/*Test*.java"/>
</target>

Это должно вероятно сделать это за вас.Теперь он будет соответствовать всему, что содержит слово test, а не только тому, что оканчивает словом test.

0 голосов
/ 25 декабря 2011

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

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