У меня есть простой пакет 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
> [email protected] 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
Я знаю, что здесь есть десятки ответов о том, что вы передаете в expect (), являясь функцией, а не результатом функции, и я пробовал каждую перестановку анонимного функционирования, о которой я могу думать, но я всегда получаю неудачный результат теста.
Я думаю, что это должно быть связано с моей конфигурацией, учитывая, что я в основном просто запускаю пример из документации, или мои ожидания относительно того, что является успешным или неудачным в тесте, не откалиброваны должным образом.
Какие-нибудь подсказки?
var err = new ReferenceError('This is a bad function.');
Похоже, ваша среда выполнения не распознаетReferenceError
. Какой браузер / среду вы используете для запуска этого теста? - person Ates Goral   schedule 27.09.2014console.log(err, typeof err, ReferenceError);
в строке 11 приводит к:[ReferenceError: This is a bad function.] 'object' [Function: ReferenceError]
. Следствие продолжается ... - person Khrob   schedule 27.09.2014