0
我正在使用茉莉花2.3.1。在毕竟方法如下规范执行结果不会被调用:茉莉花afterAll没有调用时抛出错误
var http = require('http');
describe("simple server tests:", function() {
afterAll(function(done) {
console.log('after all');
});
it("throws an error because server is not running", function(done) {
http.get("http://127.0.0.1:8080", function(res) {
res.on('data', function(data) {
done();
});
});
});
});
控制台显示:
[23:25:24] Starting 'test'...
events.js:85
throw er; // Unhandled 'error' event
^
Error: connect ECONNREFUSED
at exports._errnoException (util.js:746:11)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19)
我的预期是,该毕竟被调用,而不考虑该试验方法抛出的错误。我真的不想试试我的测试。请让我知道这是茉莉花还是我使用茉莉花的问题。谢谢。
如果做得不那么叫我希望超时和方法毕竟被称为。我有这个问题,任何测试都可能因语法错误或意外错误而失败。在这些情况下,毕竟没有被召唤。即使发生错误,我也希望在所有情况下都能被调用。 – planetjones
由于被测单元的异步行为,它会以异常退出。 Jasmine会捕获同步异常,但不会异步,因为如果它是范围,它们就会失效。你甚至可以尝试'setTimeout(function(){a = b;},500);'并得到一个测试套件退出的'ReferenceError'。没有任何东西可以捕捉到这个异常,因此整个套件都会关闭很明显,如果套件停机,那么'afterAll'不会被调用。我必须是[已知问题](https://github.com/jasmine/jasmine/issues/529) –
也许这个模块可以帮助你 - [茉莉花异步错误](https://www.npmjs。 COM /包/茉莉异步-错误)。 –