我是摩卡的新手。有人可以建议如何为“ retrieveEmployee ”函数编写测试用例。
var mysql = require('mysql');
var dbconfig = {
host:'localhost',
user:'root',
password:'root',
database:'db',
port:'3306'
};
exports.retrieveEmployee = function(req, res){
var connection = mysql.createConnection(dbconfig);
var query ='SELECT emp_Id, emp_Name FROM employee';
connection.query(query, function(err, rows, fields){
if(err)
throw err;
res.render('index', { title: 'Employee', 'items':rows });
});
};
我正在使用'MySql'作为数据库。
答案 0 :(得分:0)
如果您的意图是断言页面渲染/功能,我会使用类似Zombie
的内容。
app.js
app.get("/", function(req, res, next) {
res.render("index", {title: 'Hello World!'});
});
测试/ app.js
var Browser = require('zombie');
var app = require('../app');
describe("a html endpoin", function() {
var server;
beforeEach(function(done) {
server = app.listen(7331, done);
});
afterEach(function(done) {
server.close(done);
});
it("has some title", function(done) {
var browser = new Browser();
browser.visit("http://localhost:7331/")
.then(function() {
var title = browser.text('title');
assert.equal(title, 'Hello World!');
done();
});
});
});
如果你的意图更像是一个API端点,那么像supertest
这样的东西可以很好地工作。
app.js
app.get("/api", function(req, res, next) {
res.send({foo: 'bar'});
});
测试/ app.js
var request = require('supertest');
var app = require('../app');
describe("an api endpoint", function() {
it("returns some sort of json", function(done) {
request(app)
.get("/api")
.expect(200, {foo: 'bar'}, done);
});
});
但是,Zombie
或supertest
都可用于执行这两项任务。
使用您选择的断言库。