gpt4 book ai didi

node.js - 基于查询的函数的 Mocha 测试用例

转载 作者:行者123 更新时间:2023-12-02 10:42:07 25 4
gpt4 key购买 nike

我是 Mocha 新手。有人可以建议如何编写“检索员工”功能的测试用例。

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”作为数据库。

最佳答案

如果您的目的是断言页面渲染/功能,我会使用类似 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);
});
});
<小时/>

但是,Zombiesupertest 都可以用来完成这两项任务。

使用您选择的断言库。

关于node.js - 基于查询的函数的 Mocha 测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24412553/

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