0

で動作する関数がいくつかMath.floor((Math.random() * 9) + 1);あり、残りのロジックでそれらをテストするために、次のforように使用します。

test("getRandomNumber(anyNumber) should return a number between 1..anyNumber", function () {
    var anyNumber, result;

    for (var i = 0; i <= 100; i++) {
        anyNumber = Math.floor((Math.random() * 9) + 1);
        result = getRandomNumber(anyNumber);

        equal((0 < result && result < (anyNumber + 1)), true);
     }
});

アサーションから結果を取得したいのですがequal、1 つのアサーションが失敗した場合、次のようにループにとどまる必要はありません。

test("getRandomNumber(anyNumber) should return a number between 1..anyNumber", function () {
    var anyNumber, result;

    for (var i = 0; i <= 100; i++) {
        anyNumber = Math.floor((Math.random() * 9) + 1);
        result = getRandomNumber(anyNumber);

        if (!equal((0 < result && result < (anyNumber + 1)), true));
            break;
     }
});
4

1 に答える 1

2

変数に代入して確認するだけです。

var result = 0 < result && result < anyNumber + 1;

equal(result, true);

if ( ! result) {
    break;
}
于 2012-04-21T06:16:00.643 に答える