Флаттер: проверить, что выбрасывается конкретное исключение - PullRequest
0 голосов
/ 17 января 2019

короче, throwsA(anything) мне не хватает при юнит-тестировании в дротике. Как проверить наличие конкретного сообщения об ошибке или введите ?

Вот ошибка, которую я хотел бы отловить:

class MyCustErr implements Exception {
  String term;

  String errMsg() => 'You have already added a container with the id 
  $term. Duplicates are not allowed';

  MyCustErr({this.term});
}

вот текущее утверждение, которое прошло, но хотел бы проверить тип ошибки выше:

expect(() => operations.lookupOrderDetails(), throwsA(anything));

Вот что я хочу сделать:

expect(() => operations.lookupOrderDetails(), throwsA(MyCustErr));

1 Ответ

0 голосов
/ 17 января 2019

Это должно делать то, что вы хотите:

expect(() => operations.lookupOrderDetails(), throwsA(const TypeMatcher<MyCustErr>()));

expect(() => operations.lookupOrderDetails(), isInstanceOf<MyCustErr>()));
...