Javascript 为下面的函数node.js编写单元测试用例
我已经创建了一个函数,需要对其进行测试 文件名abc.js:Javascript 为下面的函数node.js编写单元测试用例,javascript,node.js,unit-testing,testing,mocha.js,Javascript,Node.js,Unit Testing,Testing,Mocha.js,我已经创建了一个函数,需要对其进行测试 文件名abc.js: a:函数(cb){ 返回函数(err、res){ 如果(错误)返回cb(错误); 返回cb(null,res); }; }, 文件名-abc_test.js describe('test function,()=>{ it('test',(done)=>{ // HOW TO TEST THE ABOVE FUNCTION.. WHAT ARGUMENTS SHOULD BE PASSES AS CA
a:函数(cb){
返回函数(err、res){
如果(错误)返回cb(错误);
返回cb(null,res);
};
},
文件名-abc_test.js
describe('test function,()=>{
it('test',(done)=>{
// HOW TO TEST THE ABOVE FUNCTION.. WHAT ARGUMENTS SHOULD BE PASSES AS CALLBACK
})
})
调用此函数时应传递哪些参数以及应断言哪些值。您可以使用Node.js作为断言库。并且,为回调
函数创建一个模拟或存根,将其传入obj.a()
方法。最后,断言如果要使用正确的参数调用回调
函数
例如
名称abc.js
:
const obj={
a:功能(cb){
返回函数(err、res){
如果(错误)返回cb(错误);
返回cb(null,res);
};
},
};
module.exports=obj;
名称abc.test.js
:
const obj=require('./名称abc');
const assert=require('assert');
描述('66636577',()=>{
它('应该处理错误',()=>{
常量callArgs=[];
常量mCallback=(错误,恢复)=>{
callArgs.push([err,res]);
};
const mError=新错误(“网络”);
对象a(mCallback)(mError);
断言(callArgs[0][0]==mError&&callArgs[0][1]==undefined,'expect callback to called with error');
});
它('应该成功',()=>{
常量callArgs=[];
常量mCallback=(错误,恢复)=>{
callArgs.push([err,res]);
};
const mRes=‘邓丽君’;
对象a(mCallback)(空,mRes);
断言(callArgs[0][0]==null&&callArgs[0][1]===='teresa teng','expect callback to called with response');
});
});
单元测试结果:
66636577
✓ should handle error
✓ should success
2 passing (4ms)
-------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
-------------|---------|----------|---------|---------|-------------------
All files | 100 | 100 | 100 | 100 |
name-abc.js | 100 | 100 | 100 | 100 |
-------------|---------|----------|---------|---------|-------------------
在这个问题中我没有看到任何Java,因此我正在删除
Java
标记。请注意,Java和JavaScript是不相关的语言。类或对象是否包含方法?请提供代码请回答您的问题,包括您对该主题所做的任何研究(例如,您阅读的文档部分)。现在,您的测试文件有一个语法错误(在测试函数
之后没有结束引号)。@slideshowp2 var obj={a:function(cb){return function(err,res){if(err)return cb(err);return cb(null,res);};}}