gpt4 book ai didi

javascript - 涉及 API 的单元测试

转载 作者:行者123 更新时间:2023-12-03 12:08:32 26 4
gpt4 key购买 nike

我是单元测试的新手,所以请对我宽容一些。我有一些查询 RESTful API 的模块。我发现在每个测试套件中,我都使用几行代码来启动一个简单的 ExpressJS Web 服务器,以模拟一些我可以从测试中调用的路由。在每个测试套件中都可以这样写,这已经过时了。必须有更好的方法来做到这一点。有什么建议吗?

顺便说一句,我的代码都是在 NodeJS 和浏览器中运行的 javascript。

更新:我不确定我在原来的评论中是否很好地解释了自己,所以这里有一些代码示例来帮助进一步解释。

假设我的测试套件正在测试“Person”模块:

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();
});
});
});

通常我会使用以下路线创建一个小型 express 服务器:

app.post("/api/person/*", function (req, res) { res.send(200, {data:0123}) });

但是必须为我编写的每个测试套件执行此操作,这很糟糕。如果这可以使用 stub 或 spy 来完成,我很乐意看到一个示例。或者,如果我做错了,请让我知道我可以做些什么不同的事情。谢谢!!!

最佳答案

您可以使用Sinon对于 stub /监视您的 ajax 调用,请检查它们被执行了多少次、传递了哪些参数等。请查看 Sinon 网站上的示例以获取更多信息。

关于javascript - 涉及 API 的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25070999/

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