I have some functions that work with Math.floor((Math.random() * 9) + 1);, then to test them with the rest of the logic I use a for like:
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);
}
});
I want to get the result from equal assertion and if one assertion fails, doesn’t need to stay in the loop, like:
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;
}
});
Just assign it to a variable and check that.