Javascript 为下面的函数node.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

我已经创建了一个函数,需要对其进行测试 文件名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 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);};}}