我有以下方法:
import { ObjectDal } from "./ObjectDal";
export class ObjectBL {
async getObject(id) {
try {
let dal = new ObjectDal();
let result = await dal.get(id);
return result;
} catch (err) {
// log the error
}
}
ObjectDal
类在哪里:
export class ObjectDal {
async get(id) {
// open connection to db
// make a query based on id
// put the result in a `result` variable
return result;
}
}
我必须使用only Mocha ...为getObject()
方法编写单元测试。
这是UT的开始:
const assert = require('assert'); const ObjectBL = require("../ObjectBL"); describe('Something', () => { describe('...', () => { it('getObject_GetsObjectUsingID_True', async () => { // arange let id = "123456789101"; let expected = { "name": "ana", "hasApples": true }; let test = new ObjectBL.ObjectBL(); let result = await test.getObject(id); assert.deepStrictEqual(result, expected); }); }); });
但是在这种情况下,我必须从
ObjectDal
类中调用该方法...
如何仅使用Mocha来模拟对get()
方法的调用?
我发现了Sinon的答案,或者发现了Sinon和/或Chai的摩卡,但是只有Mocha没发现...
我有以下方法:从“ ./ObjectDal”导入{ObjectDal};导出类ObjectBL {异步getObject(id){试试{让dal = new ObjectDal(); let result = await ...