【发布时间】:2017-05-27 20:58:06
【问题描述】:
我正在尝试从具有箭头函数的 redux 断言一个动作,并且鉴于它创建了一个新引用,我无法使用 chai 断言它。
代码如下:
export function save(product) {
return {
types: ['REQUEST', 'SUCCESS', 'FAILED'],
callAPI: () => fetchSomething()
payload: {
product
}
};
}
export function saveOrUpdate(product) {
return product.id ? update(product) : save(product);
}
我试图在我的测试中做这样的事情:
const action = saveOrUpdate(product);
expect(action).to.be.eql(save(product));
由于 callAPI 属性,这不起作用,所以我尝试了使用 chai-subset 的这种方法,忽略了属性 callAPI,但感觉就像 hack:
const action = saveOrUpdate(product);
const {types, payload} = save(product);
expect(action).to.containSubset({
types,
payload
});
有没有办法用第一种方法断言?
谢谢!!
【问题讨论】:
-
我认为问题在于您将
save作为eql函数的参数调用。也许我们需要找到另一种方法来检查是否调用了save而不是update
标签: redux tdd mocha.js chai async.js