Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Flutter: Test that a specific exception is thrown

Tags:

in short, throwsA(anything) does not suffice for me while unit testing in dart. How to I test for a specific error message or type?

Here is the error I would like to catch:

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}); } 

here is the current assertion that passes, but would like to check for the error type above:

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

This is what I want to do:

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

like image 396
xpeldev Avatar asked Jan 17 '19 17:01

xpeldev


1 Answers

This should do what you want:

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

if you just want to check for exception check this answer:

like image 152
Günter Zöchbauer Avatar answered Sep 18 '22 14:09

Günter Zöchbauer