Chai:AssertionError:期望是一个函数(当testingexception时)

我得到这个错误AssertionError: expected [Function] to be a function当我试图是asynchronous函数是否引发错误

 it('has invalid password', async () => { const fakeData = { email: userData.email, password: 'something but not the password!.' } expect(async () => { await authService.authenticate(fakeData) }).to.throw(errors.UnauthenticatedError) }) 

结果:

 AssertionError: expected [Function] to be a function at Assertion.assertThrows (node_modules/chai/lib/chai/core/assertions.js:1273:32) at Assertion.ctx.(anonymous function) (node_modules/chai/lib/chai/utils/addMethod.js:41:25) at doAsserterAsyncAndAddThen (node_modules/chai-as-promised/lib/chai-as-promised.js:293:29) at Assertion.<anonymous> (node_modules/chai-as-promised/lib/chai-as-promised.js:252:17) at Assertion.ctx.(anonymous function) [as throw] (node_modules/chai/lib/chai/utils/overwriteMethod.js:49:33) at Context.it (dist/tests/unit/auth-service.spec.js:56:20) at Test._mocha2.default.Test.run (node_modules/mocha-http-detect/dist/index.js:84:21) 

我做错了什么?

这是您尝试传递asynchronous函数时发生的已知问题。

要解决这个问题,你可以使用柴氏金丝雀。

更多信息: https : //github.com/chaijs/chai/issues/958