Кстати: @Igonre для другого случая использования, когда вы хотите игнорировать определенный тест.

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

Сам по себе он не имеет каких-либо тестов, но JUnit (в eclipse) вызывает тестового тестера и жалуется, что нет методов для тестирования.

Как я могу заставить его игнорировать этот класс?

Я знаю, я мог бы добавитьdummyTest метод, который решит проблему, но он также появится для всех классов детей.

Предложения?

 Allain Lalonde20 янв. 2009 г., 16:14
Это и до сих пор запускается
 Shiva Komuravelly16 нояб. 2012 г., 07:24
я только что узнал, что если мы напишем тестовый сценарий, тогда должен быть как минимум 1 метод @Test внутри тестового набора и его мандатории. В противном случае это даст нам ошибку инициализации. Это правда?
 Synox03 сент. 2012 г., 08:41
Смотрите аналогичный вопрос:stackoverflow.com/questions/672466/...
 duffymo20 янв. 2009 г., 16:06
Является ли BaseTest абстрактным?

Ответы на вопрос(4)

Вы должны создать базовый тестовый классАбстрактныеХватит достать Junit4. Если вы используете атрибут @Igonre, он будет показан как проигнорированный тест (и добавит его к общему количеству тестов).

Вы можете изменить имя тестового класса, которыйне будет слова Test (чувствительно к регистру) в начале или конце имени теста или слова TestCase в конце.

Кстати: @Igonre для другого случая использования, когда вы хотите игнорировать определенный тест.

я всегда рекомендую указать причину игнорирования:

@Ignore("This test will prove bug #123 is fixed, once someone fixes it")

Я надеюсь, что средство форматирования отчетов junit xml, используемое при запуске тестов из ant, однажды будет включать в себя игнорируемое количество (и причины) наряду с pass, fail и error.

 J-Alex16 янв. 2019 г., 17:49
Прошли годы, ноbug #123 еще не исправлено ..)
 Allain Lalonde29 янв. 2009 г., 16:36
Я тоже с нетерпением жду этого. :) Спасибо

abstract должно быть достаточно для JUnit 4. Если это не работает, дважды проверьте, какую версию JUnit вы используете.

Это также сообщает ваше намерение, что это всего лишь фрагмент теста.

Это также препятствует тому, чтобы JUnit посчитал тесты в классе как "игнорируемые" (таким образом, окончательное число игнорируемых тестов будет тем, что вы ожидаете).

Или переименуйте класс. Большинство бегунов используют имя класса, чтобы определить, какие классы являются тестами, а какие - помощниками. В Maven с настройками по умолчанию вам просто нужно убедиться, что базовый класс не начинается и не заканчиваетсяTest и не заканчиваетсяTestCase (http://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html)

 derekv27 мар. 2014 г., 17:42
Сочетание @Ignore и аннотация превосходно!
 Aenadon12 мая 2017 г., 12:55
Вы не должны@Ignore, Аннотация достаточно (и лучше всего на мой взгляд)
 Aaron Digulla30 мая 2017 г., 14:22
С JUnit 4,abstract должно быть достаточно.
Решение Вопроса

Используйте для@Ignore аннотаций. Это также работает на классах. Смотрите это:

@Ignore public class IgnoreMe {
                        @Test public void test1() { ... }
                        @Test public void test2() { ... }
                }

Кроме того, вы можете аннотировать класс, содержащий методы тестирования, с помощью @Ignore, и ни один из содержащихся тестов не будет выполнен.

Источник:JUnit JavaDoc

 deepakraut25 апр. 2013 г., 12:59
Можете ли вы указать мне действительную ссылку, где написано, что @Ignore действует только для методов из junit 4.5? Я не могу найти это.
 Allain Lalonde20 янв. 2009 г., 16:22
Ища это, и Libary назвали 4.5, но фляга - junit4-1.jar, странный. Принял твой ответ. Благодарю.
 O.Badr15 авг. 2016 г., 01:48
... а если я хочу игнорировать тест для всех методов, кроме одного (вместо @ignore над каждым методом)?
 Allain Lalonde20 янв. 2009 г., 16:18
Я согласен, что это должно работать, поэтому +1. За исключением NetBeans 6.2 и jUnit 4.5, @ignore указан как действительный только для методов.

Ваш ответ на вопрос