考虑一个函数,它根据传递的参数进行一些异常处理:
List range(start, stop) {
if (start >= stop) {
throw new ArgumentError("start must be less than stop");
}
// remainder of function
}
Run Code Online (Sandbox Code Playgroud)
如何测试是否引发了正确的异常?
我发现了如何测试异常或错误:https : //stackoverflow.com/a/54241438/6509751
但是如何测试以下内容assert是否正常工作?
void cannotBeNull(dynamic param) {
assert(param != null);
}
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法,但不起作用。断言被简单地打印出来并且测试失败:
void main() {
test('cannoBeNull assertion', () {
expect(cannotBeNull(null), throwsA(const TypeMatcher<AssertionError>()));
});
}
Run Code Online (Sandbox Code Playgroud)