Node.js sqlite3代码不在jasmine中运行
有人试过在jasmine测试框架下运行sqlite3代码吗?出于某种原因,相同的代码可以显示带有节点的表行,但不能显示运行jasmine的节点下的表行 例如,这将显示表[table_name]中的所有行:Node.js sqlite3代码不在jasmine中运行,node.js,sqlite,jasmine,Node.js,Sqlite,Jasmine,有人试过在jasmine测试框架下运行sqlite3代码吗?出于某种原因,相同的代码可以显示带有节点的表行,但不能显示运行jasmine的节点下的表行 例如,这将显示表[table_name]中的所有行: $ node src/test.js var sqlite3 = require('sqlite3').verbose(); var db = new sqlite3.Database("/home/user/test_db.sqlite3", 'OPEN_READ'); db.each("S
$ node src/test.js
var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database("/home/user/test_db.sqlite3", 'OPEN_READ');
db.each("SELECT info FROM table_name", function(err, row) {
console.log(row.info);
});
jasmine下的相同代码不:
$ jasmine spec/TestSpec.js
describe("Orders table", function() {
it("should display all items in table [table_name]", function() {
var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database("/home/user/test_db.sqlite3", 'OPEN_READ');
db.each("SELECT info FROM table_name", function(err, row) {
console.log(row.info);
});
})
});
有人知道为什么它在一个表下运行而在另一个表下运行吗?您需要异步运行测试。Jasmine没有等待数据库连接和迭代。您可以向Jasmine提供一个示例,让它知道可以运行测试。此外,根据文档,我必须提供sqlite3.OPEN_READONLY作为实现此功能的模式。也许这是由于版本的变化
describe("Orders table", function() {
it("should display all items in table [table_name]", function(done) {
var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database("/home/user/test_db.sqlite3", sqlite3.OPEN_READONLY, function() {
db.each("SELECT info FROM table_name", function(err, row) {
console.log(row.info);
}, done);
});
})
});
您需要异步运行测试。Jasmine没有等待数据库连接和迭代。您可以向Jasmine提供一个示例,让它知道可以运行测试。此外,根据文档,我必须提供sqlite3.OPEN_READONLY作为实现此功能的模式。也许这是由于版本的变化
describe("Orders table", function() {
it("should display all items in table [table_name]", function(done) {
var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database("/home/user/test_db.sqlite3", sqlite3.OPEN_READONLY, function() {
db.each("SELECT info FROM table_name", function(err, row) {
console.log(row.info);
}, done);
});
})
});