ダーツユニットテストに慣れようとすると、次の問題が発生しました。
予想されるnumのリストと比較したいnumのリストがあります。これらの値は「double」である可能性があるため、closeToとの比較が必要になります。
これらの2つのマッチャーを何らかの方法で組み合わせることができますか、それとも自分で作成する必要がありますか、それともスキップしたマッチャーはありますか?
ダーツユニットテストに慣れようとすると、次の問題が発生しました。
予想されるnumのリストと比較したいnumのリストがあります。これらの値は「double」である可能性があるため、closeToとの比較が必要になります。
これらの2つのマッチャーを何らかの方法で組み合わせることができますか、それとも自分で作成する必要がありますか、それともスキップしたマッチャーはありますか?
両方のマッチャーの機能を組み合わせて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));
}
});