Как проверить, выдает ли функция ошибку в DOH?
Я пытаюсь проверить, если функция выдает ошибку, и сделать это:
define([
'doh/runner',
'app/Obj'
], function(
doh,
Obj
){
doh.register('Test Obj exception', [
function(){
try {
new Obj(); // wrong call
} catch(e) {
doh.t(e, 'should give an error if no parameters given');
}
}
]);
Файл Obj.js:
...
constructor: function(args){
if(args === undefined){ throw 'Error' }
...
}
...
Но, может быть, где в Дох есть какой-то правильный метод? Может кто-нибудь объяснить? Спасибо
2 ответа
Решение
Вы хотите doh.assertError()
Пример:
doh.assertError(TypeError, this.field, "setValue",
[{
CreatedOn: "March 10th, 2014"
}],
"setValue() on an invalid format should throw a TypeError");
Этот пример теста показывает, что DOH правильно распознает и отображает ошибку.
Эта суть является тестом и содержит этот код:
var Obj = function () {
if (arguments.length < 1) {
throw 'Error - There are ' + arguments.length + ' arguments';
}
};
define(["doh/runner"], function(doh){
var tests = [
function () {
new Obj(); // wrong call
}
];
doh.register('Test Obj exception', tests);
});
На скриншоте показана ошибка 1 и сообщение об ошибке Error
брошено: