1
我想測試一個函數。這個功能也需要其他功能,但這個功能會被嘲笑。如何使用Jest測試和模擬功能Nodejs
這裏是我的功能
translate(args, cb) {
const transid = args.transid;
const language = args.language;
const defaultValue = args.defaultValue || '';
if (transid === null || transid === '') {
return cb(new Error('Error. Need TransiD'));
}
if (language === null || language === '') {
return cb(new Error('Error. Need language'));
}
return this.translation(transid, language, defaultValue)
.then((res) => {
return cb(null, res);
});
}
這個功能需要功能 '翻譯'。在測試過程中,我會嘲笑它。
這裏是我的測試
describe('Translator',() => {
describe('translate',() => {
it('Should return translated value', (done) => {
const args = {
transid: 1,
language: 'EN',
defaultValue: 'defaultValue',
}
const cb = jest.fn((err, res) => {
});
translator.translation = jest.fn((transid, language, defaultValue) => {
// done();
})
translator.translate(args, cb);
done();
});
})
})
我還在困惑如何使用玩笑,也嘲弄了所需的相關測試該函數的功能。