Dart UnitTest:orderedEquals结合closeTo

时间:2013-02-19 11:08:19

标签: dart

当我试图熟悉飞镖单元测试时,我遇到了以下问题,

我有一个nums列表,我想与预期的nums列表进行比较。这些值可能是“双倍”,因此需要与closeTo进行比较。

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

1 个答案:

答案 0 :(得分:1)

我不知道一个特定的匹配器,它结合了两个匹配器的功能来比较两个独立的迭代。但是,您可以轻松编写测试以迭代这两个集合,并检查该值是否为closeTo expect。请记住,每次测试可以有多个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));
    }
});