У меня была та же проблема, о которой вы упоминали в комментарии, из-за которой мой тест, в котором нет теста Error
, перестал бы "плохо" показывать плохо отформатированное сообщение Died on test #1
без какой-либо полезной информации.
Iзакончил тем, что использовал смесь обоих;raises()
для одного теста и try/catch
для другого.
Я использовал raises () для теста, который проверяет, что Error
выбрасывается, подобно этому:
test("When myFunction() is called with a invalid instance Then Error is thrown", function () {
// Arrange
var testInstance = {};
// Act
raises(function() {
myFunction(testInstance);
}, Error, "myFunction() should throw an Error");
// Assert
// raises() does assertion
});
Если приведенное выше выдает Error
, то все в порядке, и если не отображается хорошее отформатированное сообщение, похожее на это:
myFunction() should throw Error
Result: No exception was thrown.
Затем я использовал try/catch
для тестов, которые должны гарантировать, что нет *Выдается 1018 *, аналогично следующему:
test("When myFunction() is called with a valid instance Then no Error is thrown", function () {
// Arrange
var testInstance = new myObject();
var result;
// Act
try {
myFunction(testInstance);
result = true;
} catch(error) {
result = false;
}
// Assert
ok(result, "myFunction() should not throw an Error");
});
Если приведенное выше значение не выдает Error
, то все в порядке и если выброшено Error
, отображается хорошее отформатированное сообщение, похожее на это:
myFunction() should not throw an Error
Source: ...