我正在使用chaocha和mochajs進行單元測試。這是chaijs的文檔。 http://chaijs.com/api/bdd/在chaijs做關於expect.throw的單元測試的問題
根據文檔,它可以檢查函數是否拋出異常。 所以,使用此代碼:
var expect = require("chai").expect;
describe("Testing", function(){
var fn = function(){ throw new Error("hello"); };
//map testing
describe("map", function(){
it("should return error",function(){
expect(fn()).to.not.throw("hello");
});
});
});
測試應該說 「通行證」 riht?它期待一個錯誤,並且函數fn正在給它。 但我發現了這一點:
11 passing (37ms)
1 failing
1) Testing map should return error:
Error: hello
at fn (/vagrant/projects/AD/tests/shared/functionalTest.js:13:29)
at Context.<anonymous> (/vagrant/projects/AD/tests/shared/functionalTest.js:17:11)
at Test.Runnable.run (/vagrant/projects/AD/node_modules/mocha/lib/runnable.js:211:32)
at Runner.runTest (/vagrant/projects/AD/node_modules/mocha/lib/runner.js:372:10)
at /vagrant/projects/AD/node_modules/mocha/lib/runner.js:448:12
at next (/vagrant/projects/AD/node_modules/mocha/lib/runner.js:297:14)
at /vagrant/projects/AD/node_modules/mocha/lib/runner.js:307:7
at next (/vagrant/projects/AD/node_modules/mocha/lib/runner.js:245:23)
at Object._onImmediate (/vagrant/projects/AD/node_modules/mocha/lib/runner.js:274:5)
at processImmediate [as _immediateCallback] (timers.js:330:15)
我敢肯定,我在做一些愚蠢的事,或者忘記一些愚蠢的事,我還沒注意到。
任何人都可以看到我不能做的事嗎?或任何線索? 謝謝。
順便說一下,我使用的是node.js v0.10.22。
嘗試'希望(FN).to.not.throw( 「你好」);' – vkurchatkin
見我的回答摩卡節在這裏。 http://stackoverflow.com/a/14890891/1095114 – Noah
謝謝諾亞,我給你留下了一條評論,因爲我想將不同的參數傳遞給fn()... – alexserver