Правила Junit, TestCases и наследование: работают ли они вместе?

Применяются ли правила Junit к тестам, указанным в суперклассе? Похоже, что они этого не делают из некоторых начальных тестов, которые я запускал, в которых я унаследовал класс Test и переопределил именованные тесты в моем подклассе. Я нашел:

1) Аннотации @Ignore не переходят каскадом вверх: они просто заставляют мои аннотации подкласса игнорироваться

2) Использование @Rules, которые обеспечивают настраиваемое поведение, похоже, тоже не работает: аннотации @Rule, похоже, не влияют на поведение суперкласса junit TestCase.

В любом случае моя цель - игнорировать некоторые тесты в моем суперклассе с использованием общего класса правил - если это не сработает, тогда мне придется вручную переопределить каждый тест, который терпит неудачу, что приводит к добавлению большого количества мертвого кода в наша кодовая база.


person jayunit100    schedule 06.09.2013    source источник


Ответы (1)


Наличие @Rule в подклассе повлияет на выполнение подкласса, включая все унаследованные тесты. Однако, если суперкласс запускается независимо от подкласса, @Rule не будет присутствовать и, следовательно, не повлияет на тесты.

person John B    schedule 09.09.2013