1
我想确保在Jasmine集成测试后关闭与数据库的连接。这是我目前的 - 将确保数据库连接适当关闭吗?使用Jasmine进行数据库集成测试
"use strict";
describe("MyCtorFunction", function() {
describe("myMethod", function() {
var _db = null,
_testContext = null;
beforeEach(function() {
_testContext = {};
new DbHelper().openConnection(function (err, dbConnection) {
if (err) {
throw err;
}
_db = dbConnection;
});
waitsFor(function() {
return _db;
}, "establishing a connection to the database.", 5000);
});
afterEach(function() {
waitsFor(function() {
return _testContext.assertions.callCount === 1;
}, "waiting for the assertions to be called.", 5000);
runs(function() {
if (_db) {
_db.close();
_db = null;
}
});
});
it("should do something", function() {
runs(function() {
//arrange
_testContext.assertions = assertions;
spyOn(_testContext, "assertions").andCallThrough();
//act (_testContext.assertions invoked as callback)
new MyCtorFunction(_db).myMethod(_testContext.assertions);
//assert
function assertions(err, config) {
expect(config).toNotBe(null);
//etc.
}
});
});
});
});