1

当我尝试熟悉 dart 单元测试时,我遇到了以下问题,

我有一个数字列表,我想将其与预期的数字列表进行比较。这些值可能是“双精度值”,因此需要与 closeTo 进行比较。

是否可以以某种方式组合这两个匹配器,或者我需要自己编写,还是我跳过了任何匹配器?

4

1 回答 1

1

我不知道有一个特定的匹配器结合了两个匹配器的功能来比较两个单独的可迭代对象。但是,您可以轻松编写一个测试来迭代这两个集合并检查该值是否接近预期。请记住,每个测试可以有多个expect()语句。

所以你的测试可能看起来像这样:

test('List is close', () {
    var expectedList = [1, 3, 56, 892, 919];
    List<num> myVals = someFunction();

    var len = expectedList.length;
    for(var i = 0; i < len; i++) {
      expect(myVals[i], closeTo(expectedList[i], 0.005));
    }
});
于 2013-02-20T18:01:13.833 回答