Qunit関数に期待される出力の配列があります。関数の結果がこの配列にあるかどうかをテストしたいと思います。
var a =new array('abc','cde','efg','mgh');
今私の質問は、私のためにこれを行うことができるQUnitアサーション/関数はありますか??
いくつかのJSコーディングによって、これをチェックするメソッドを作成することは知っていますが、OUnitのみに限定したい!!!!
Qunit関数に期待される出力の配列があります。関数の結果がこの配列にあるかどうかをテストしたいと思います。
var a =new array('abc','cde','efg','mgh');
今私の質問は、私のためにこれを行うことができるQUnitアサーション/関数はありますか??
いくつかのJSコーディングによって、これをチェックするメソッドを作成することは知っていますが、OUnitのみに限定したい!!!!
JavaScript 1.6をお持ちの場合は、使用できますArray.indexOf
test("myFunction with expected value", function() {
var expectedValues = ['abc','cde','efg','mgh'];
ok(expectedValues.indexOf(myFunction()) !== -1, 'myFunction() should return an expected value');
});
必要に応じて、これらの種類のアサーションをサポートするように QUnit を拡張できます。
QUnit.extend(QUnit, {
inArray: function (actual, expectedValues, message) {
ok(expectedValues.indexOf(actual) !== -1, message);
}
});
inArray()
次に、テストでこのカスタム メソッドを使用できます。
test("myFunction with expected value", function() {
var expectedValues = ['abc','cde','efg','mgh'];
QUnit.inArray(myFunction(), expectedValues, 'myFunction() should return an expected value');
});
両方のオプションを表示する jsFiddleを作成しました。