我是新来Qunit和单元测试。
我试图找出是什么,以及如何测试以下功能。 它并没有做太多的时刻,但我想断言,如果我通过它正在引发的错误不正确的值:
function attrToggle (panel, attr) {
'use strict';
if (!panel) { throw new Error('Panel is not defined'); }
if (!attr) { throw new Error('Attr is not defined'); }
if (typeof panel !== 'string') { throw new Error('Panel is not a string'); }
if (typeof attr !== 'string') { throw new Error('Attr is not a string'); }
if (arguments.length !== 2) { throw new Error('There should be only two arguments passed to this function')}
};
我该如何去断言,如果任何一个条件不满足的错误将被抛出?
我想看看Qunit的“加薪”的断言,但认为我误解了。 我的解释是,如果一个错误被抛出测试通过。
所以,如果我测试过这样的事情:
test("a test", function () {
raises(function () {
throw attrToggle([], []);
}, attrToggle, "must throw error to pass");
});
测试应该通过,因为错误抛出。