我对单元测试有点新手,所以对我来说很容易。我有一些查询RESTful API的模块。我发现在每个测试套件中我都使用几行代码来启动一个简单的ExpressJS Web服务器来模拟我可以通过测试调用的一些路由。它可以在每个测试套件中写出来。必须有一个更好的方法来做到这一点。有什么建议吗?
BTW我的代码是在NodeJS和浏览器中运行的所有javascript。
更新:我不确定我是否在原始评论中做了很好的解释,所以这里有一些代码示例可以帮助进一步解释。
想象一下,我的测试套件正在测试“人员”模块:
describe("Person", function () {
it("saves through REST API", function (done) {
var person = new Person();
//person gets posted to "/api/person/"
person.save(function () {
expect(person._id).to.be("id");
done();
});
});
});
通常情况下,我会使用以下路线创建一个小型快递服务器:
app.post("/api/person/*", function (req, res) { res.send(200, {data:0123}) });
但是我必须为我编写的每个测试套件执行此操作。如果这可以使用存根或间谍来完成,我很乐意看到如何使用它的例子。或者,如果我这样做是错的,请让我知道我能做些什么不同。感谢!!!