1

ダーツユニットテストに慣れようとすると、次の問題が発生しました。

予想されるnumのリストと比較したいnumのリストがあります。これらの値は「double」である可能性があるため、closeToとの比較が必要になります。

これらの2つのマッチャーを何らかの方法で組み合わせることができますか、それとも自分で作成する必要がありますか、それともスキップしたマッチャーはありますか?

4

1 に答える 1

1

両方のマッチャーの機能を組み合わせて2つの別々の反復可能オブジェクトを比較する特定のマッチャーを知りません。ただし、両方のコレクションを反復処理し、値が期待値に近いことを確認するテストを簡単に作成できます。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 に答える