4

Qunit関数に期待される出力の配列があります。関数の結果がこの配列にあるかどうかをテストしたいと思います。

var a =new array('abc','cde','efg','mgh');

今私の質問は、私のためにこれを行うことができるQUnitアサーション/関数はありますか??

いくつかのJSコーディングによって、これをチェックするメソッドを作成することは知っていますが、OUnitのみに限定したい!!!!

4

2 に答える 2

5

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を作成しました。

于 2013-02-11T15:56:19.377 に答える