Ste*_*che 7 javascript unit-testing sinon reactjs redux
我正在尝试对文件中的函数进行单元测试,同时在SAME文件中存根另一个函数,但是没有应用模拟并且正在调用真正的方法.这是一个例子:
// file: 'foo.js'
export function a() {
// .....
}
export function b() {
let stuff = a(); // call a
// ...do stuff
}
Run Code Online (Sandbox Code Playgroud)
我的测试:
import * as actions from 'foo';
const aStub = sinon.stub(actions, 'a').returns('mocked return');
actions.b(); // b() is executed, which calls a() instead of the expected aStub()
Run Code Online (Sandbox Code Playgroud)
ano*_*oop 11
一些重组可以使这项工作.
我使用了commonJS语法.在ES6中也应该以相同的方式工作.
foo.js
const factory = {
a,
b,
}
function a() {
return 2;
}
function b() {
return factory.a();
}
module.exports = factory;
Run Code Online (Sandbox Code Playgroud)
test.js
const ser = require('./foo');
const sinon = require('sinon');
const aStub = sinon.stub(ser, 'a').returns('mocked return');
console.log(ser.b());
console.log(aStub.callCount);
Run Code Online (Sandbox Code Playgroud)
产量
嘲笑回归
1