【发布时间】:2018-02-14 09:58:03
【问题描述】:
我正在用 jest.fn 模拟两个函数:
let first = jest.fn();
let second = jest.fn();
如何断言 first 在 second 之前调用?
我正在寻找类似 @987654321@ .calledBefore 断言的东西。
更新 我使用了这个简单的“临时”解决方法
it( 'should run all provided function in order', () => {
// we are using this as simple solution
// and asked this question here https://stackoverflow.com/q/46066250/2637185
let excutionOrders = [];
let processingFn1 = jest.fn( () => excutionOrders.push( 1 ) );
let processingFn2 = jest.fn( () => excutionOrders.push( 2 ) );
let processingFn3 = jest.fn( () => excutionOrders.push( 3 ) );
let processingFn4 = jest.fn( () => excutionOrders.push( 4 ) );
let data = [ 1, 2, 3 ];
processor( data, [ processingFn1, processingFn2, processingFn3, processingFn4 ] );
expect( excutionOrders ).toEqual( [1, 2, 3, 4] );
} );
【问题讨论】:
标签: testing jestjs babel-jest