我刚刚开始在摩卡,我正在努力想出这个。
假设我有这个节点应用程序(app.js):
var myModule = require('./myModule');
function startingPoint() {
myModule.myFunction();
}
我有一个模块(myModule.js):
exports.myFunction = function() {
console.log('hello, world');
}
现在,我想做的是测试app.js并验证当我调用函数startingPoint时,调用myModule.myFunction。我怎么会在摩卡那里去做?
谢谢!
答案 0 :(得分:-1)
让我们考虑一下mocha,chai和chai-spy的方法。我已导出startingPoint
以便在测试中访问它。
"use strict"
const chai = require('chai')
const expect = chai.expect
const spies = require('chai-spies')
chai.use(spies);
const startingPoint = require('../app')
const myModule = require('../myModule')
describe('App', () => {
context('.startingPoint()', () => {
it('doesn\'t call .myFunction()', () => {
let spy = chai.spy.on(myModule, 'myFunction')
expect(spy).not.to.have.been.called()
});
it('calls .myFunction()', () => {
let spy = chai.spy.on(myModule, 'myFunction')
startingPoint()
expect(spy).to.have.been.called()
});
});
});