如何在Dart中测试抛出异常的函数?

时间:2014-02-06 04:53:44

标签: unit-testing dart

假设我有一个抛出异常的函数:

hello() {
    throw "exception of world";
}

我想测试它,所以我写了一个测试:

test("function hello should throw exception", () {
    expect(()=>hello(), throwsA("exception of world"));
});

您可以看到我没有直接致电hello(),而是使用()=>hello()

它有效,但我想知道是否还有其他方法可以为它编写测试?

2 个答案:

答案 0 :(得分:4)

您可以直接按名称传递hello,而不是创建仅调用hello的闭包。

本单元测试通过:

main() {
  test("function hello should throw exception", () {
      expect(hello, throwsA(new isInstanceOf<String>()));
  });
}

答案 1 :(得分:1)

本文介绍了如何测试异常https://github.com/dart-lang/test/blob/master/pkgs/test/README.md#asynchronous-tests

test("function hello should throw exception", () {
    expect(hello, throwsA(quals("exception of world")));
});