gpt4 book ai didi

mocha.js - sequelize 函数不会在 Mocha 中引发异常

转载 作者:行者123 更新时间:2023-12-03 22:41:35 27 4
gpt4 key购买 nike

我对 mocha 框架有点陌生。此代码应该抛出异常,但不会。 (为简单起见,将所有代码放入测试中)

describe("Test", function() {
it("this should throw an error", function() {
var Sequelize = require("sequelize");
var sequelize = new Sequelize({
dialect: 'sqlite',
storage: 'test.sqlite3'
});
var foo = sequelize.define('Foo', {
var_a: Sequelize.INTEGER,
var_b: Sequelize.STRING
});
sequelize.sync().then(function(err) {
throw('should throw an error here); // !!! Should throw an exception here
});
});
});

有趣的是,当我直接在 node.js 中运行代码时(当然,没有“describe”和“it”行),它会引发一个应该有的异常。我对 Mocha 有点陌生,我错过了一些非常简单的东西吗?

最佳答案

找到了解决办法。来自 ( https://mochajs.org/#getting-started ):“通过向 it() 添加回调(通常命名为“done”),Mocha 将知道它应该等待调用此函数以完成测试。”

describe("Test", function() {
it("this should throw an error", function(done) {
var Sequelize = require("sequelize");
var sequelize = new Sequelize({
dialect: 'sqlite',
storage: 'db/test_db.sqlite3'
});
var foo = sequelize.define('Foo', {
var_a: Sequelize.INTEGER,
var_b: Sequelize.STRING
});
sequelize.sync().then(function(err) {
done();
throw('got here');
});
});
});

关于mocha.js - sequelize 函数不会在 Mocha 中引发异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42395861/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com