在描述之外使异步Mocha测试失败的优雅方法

时间:2019-03-18 01:27:47

标签: javascript testing chai chai-as-promised

在测试之前,我有一个异步代码:正在初始化数据库连接等,我不要要在每个测试用例中移动。为此,我必须将--delay参数设置为mocha.opts,并在测试准备运行时运行run()函数。好吧,目前看起来像这样:

async myTest() {
  await prepare1();
  await prepare2();
  describe('1', async () => {
     it('11', async () => {
        await something();
     });
  });
  run();
}

myTest();

当语句prepare2()失败时,如何使用Mocha进行测试失败?

我的尝试:

0)仅执行该函数即可获得UnhandledPromiseRejectionWarning:

myTest(); 

1)这根本不运行测试,并以0存在;

it('init', async () => {
    await myTest();
});

2)这样说UnhandledPromiseRejectionWarning:

myTest().catch(e => {throw e});

3)与chai-as-promisedAssertionError: Promise should be fulfilledUnhandledPromiseRejectionWarning:

assert.isFulfilled(myTest(), "Promise should be fulfilled");

4)唯一想到的是下面。柴似乎不太好:

myTest().catch(e => {
    console.error(e);
    process.exit(1);
});

0 个答案:

没有答案