为什么我的mocha/chai错误投掷测试失败
Why is my mocha/chai Error throwing test failing?
我正在尝试测试一个简单的javascript包。我想检查是否抛出了错误,但当我的测试运行并且抛出错误时,测试被标记为失败。
这是代码:
var should = require('chai').should(),
expect = require('chai').expect();
describe('#myTestSuite', function () {
it ('should check for TypeErrors', function () {
// Pulled straight from the 'throw' section of
// http://chaijs.com/api/bdd/
var err = new ReferenceError('This is a bad function.');
var fn = function () { throw err; }
expect(fn).to.throw(ReferenceError);
})
})
当运行时,它会给我以下输出:
kh:testthing khrob$ npm test
> testthing@0.1.0 test /Users/khrob/testthing
> mocha
#myTestSuite
1) should check for TypeErrors
0 passing (5ms) 1 failing
1) #myTestSuite should check for TypeErrors:
TypeError: object is not a function
at Context.<anonymous> (/Users/khrob/testthing/test/index.js:10:3)
at callFn (/Users/khrob/testthing/node_modules/mocha/lib/runnable.js:249:21)
at Test.Runnable.run (/Users/khrob/testthing/node_modules/mocha/lib/runnable.js:242:7)
at Runner.runTest (/Users/khrob/testthing/node_modules/mocha/lib/runner.js:373:10)
at /Users/khrob/testthing/node_modules/mocha/lib/runner.js:451:12
at next (/Users/khrob/testthing/node_modules/mocha/lib/runner.js:298:14)
at /Users/khrob/testthing/node_modules/mocha/lib/runner.js:308:7
at next (/Users/khrob/testthing/node_modules/mocha/lib/runner.js:246:23)
at Object._onImmediate (/Users/khrob/testthing/node_modules/mocha/lib/runner.js:275:5)
at processImmediate [as _immediateCallback] (timers.js:336:15)
npm ERR! Test failed. See above for more details.
npm ERR! not ok code 0
我知道这里有几十个答案,关于你期望()是一个函数而不是函数的结果,我已经尝试了我能想到的每一种匿名函数化的排列,但我总是得到失败的测试结果。
我认为这一定与我的配置有关,因为我基本上只是从文档中运行示例,或者我对测试通过或失败的预期没有正确校准。
有线索吗?
这应该可以解决您的问题:
var expect = require('chai').expect;
请注意,expect
函数没有被调用。
追踪到了!
向上
expect = require('chai').expect(),
没有给我任何有用的东西。更改为:
chai = require('chai'),
然后将测试称为
chai.expect(fn).to.throw(ReferenceError);
做的正是我所期望的。
谢谢你的帮助。
相关文章:
- ChaiJS:无法导致测试失败
- 当我的单元测试失败时,回调被调用了两次
- 预期[false]为false量角器e2e测试失败
- 为什么在我的单元测试中instanceOf的测试失败
- yeoman generator聚合物的web组件测试失败
- 当Firefox尝试登录时,Selenium测试失败
- 量角器中的AngularJS E2E测试失败
- 用摩卡测试失败的承诺'内置的promise支持
- 这个单元测试失败的原因是什么
- 当分离到不同的文件中时,测试失败
- travis测试失败,通过本地测试
- 字符串测试失败
- Javascript单元测试依赖关系-当依赖对象发生变化时,如何使测试失败
- 如何在捕获Promise时使Node单元测试失败
- AngularJs的单元测试失败是因为Karma没有'无法识别$scope$控制器中的侦听器
- 有没有办法在node.js中的异常或测试失败时启动调试器
- Capybara JS 测试失败了 page.all
- 现代化测试失败后仍应用函数
- 角度咆哮 V2 - 单元测试失败
- 为什么这个 QUnit 测试失败