Рассмотрим следующий тестовый пример:
@Test
public void testFooBar ()
throws FooBadParameterException,
FooInvalidStateException,
BarUnmatchedException,
BarDuplicatedException
{
Foo foo = fooService.generateFoo();
Bar bar = barService.generateBar();
assertThat(foo.getId()).isEqualTo(bar.getId());
}
, где FooBadParameterException
, FooInvalidStateException
, BarUnmatchedException
, BarDuplicatedException
- отмеченные исключения, которые могут быть сгенерированы fooService.generateFoo()
и barService.generateBar()
.
Мой вопрос: могу ли я упростить приведенный выше тестовый пример до:
@Test
public void testFooBar ()
throws Exception
{
Foo foo = fooService.generateFoo();
Bar bar = barService.generateBar();
assertThat(foo.getId()).isEqualTo(bar.getId());
}
Хотя я не придумал никаких причин не делать этого, я хочу спросить, есть ли любые скрытые недостатки, чтобы сделать это.
Примечание: в В Java используется исключение throws вместо того, чтобы бросать несколько спецификаций c исключения Хорошая практика? , принятый ответ охватывает только чехол для Spring MVC. Мой вопрос касается тестовых случаев.