2013-09-12 2 views
1

Я работаю над обновлением некоторых зависимостей проекта от JUnit 4.9 от 4.8.2, и один из методов ExpectedException изменился между двумя версиями.Обновление JUnit с 4.8.2 по 4.9 ExpectedException.apply issue

4,9

public Statement apply(Statement base, org.junit.runner.Description description) 

 

4.8.2

public Statement apply(Statement base, FrameworkMethod method, Object target) 

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

ответ

1

В любом случае ваши тесты никогда не должны звонить apply. Это внутренний метод JUnit (вызванный из рамки JUnit, а не тесты). Вы должны только позвонить по телефону expect или expectMessage по телефону ExpectedException.

Смотрите примечания в Javadoc по использованию: ExpectedException

+0

Извинение, код использует пользовательский ExpectedException и делегирование метода применяется обратно к нормальному ExpectedException. Это значит, что некоторые полные трассировки стека могут быть зарегистрированы в другом месте (я думаю, не мой код, и я не ужасно опыт). – matthewh86

+1

ОК, поэтому вам нужно будет обновить пользовательское 'ExpectedException', чтобы принять новую подпись. Однако, поскольку старая версия, вероятно, не использует «метод» или «цель» и просто передает их, вы должны следовать одному шаблону, используя «описание». –

Смежные вопросы