如何测试包含异步功能的功能?

时间:2018-06-22 07:12:18

标签: node.js unit-testing

有一个功能

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*" />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>

    <FlipView x:Name="flipView" />
    <TextBlock Grid.Row="1" />
</Grid>

function foo(){ bar('hi',callback) } 是一个异步函数,如何在mocha或其他测试框架中测试bar

2 个答案:

答案 0 :(得分:0)

对于此功能,您可以简单地返回一个值。 现在,基于回调类型,您可以将promise存根:

 bar.returns('some value', Q.reject({success: false}))

或者一个函数:

bar.returns('some value', sinon.spy())

P.S我还没有测试过。 您可能想读:

http://sinonjs.org/releases/v4.0.0/spies/

http://sinonjs.org/

答案 1 :(得分:0)

describe('', function() {
  it('', async function() {
    const result = await foo();
    result.should.equal('hi');
  });
});

Mocha现在支持异步等待。 请参阅链接https://mochajs.org/