我是TDD新手并使用Intern v4编写单元测试。我已经阅读了文档,但我仍然无法编写测试。如果有人能指出我正确的方向,我将不胜感激。
我的javascript代码如下:
var app = (function(){
let name = 'Mufasa';
let fullname = '';
return {
print: function(surname) {
fullname = `hello ${name} ${surname}`;
console.log(fullname);
return fullname;
}
}
})();
app.print('Vader');
我已经通过npm在我的项目中加入了实习生。
我的单元测试文件test1.js如下:
const { suite, test } = intern.getInterface('tdd');
const { assert } = intern.getPlugin('chai');
// how do i write my first test case here to check the output when i pass/do not pass the surname parameter
答案 0 :(得分:0)
由于您使用的是非模块化JS,因此您的应用程序将被加载到全局命名空间中(即,它可以作为window.app
访问)。测试可能如下:
suite('app', () => {
test('print', () => {
const result = app.print('Smith');
assert.equal(result, 'hello Mufasa Smith');
})
});
要让Intern能够调用您的app.print
函数,您的应用程序脚本将需要加载。假设您的代码适用于浏览器,您可以在测试套件中使用Intern的loadScript
函数,也可以将脚本作为插件加载。
suite('app', () => {
before(() => {
return intern.loadScript('path/to/script.js');
});
// tests
});
或
// intern.json
{
"plugins": "path/to/script.js"
// rest of config
}