gpt4 book ai didi

javascript - 如何对 javascript 客户端身份验证进行单元测试

转载 作者:行者123 更新时间:2023-11-28 01:54:00 25 4
gpt4 key购买 nike

我正在努力提高单元测试能力(并希望自学 TDD)。我当前的项目是用 Javascript 编写的,我对它还很陌生。我想知道如何对我的身份验证进行单元测试?我想我可能必须制作一个模拟服务器来代替我实际要进行身份验证的服务器,但我不确定如何去做。

如果测试框架对答案很重要,我一直在尝试使用 JSTestDriver——尽管如果使用其他东西更容易,我愿意学习,因为我没有投入大量时间还没有特定的框架。

感谢您的帮助!

最佳答案

测试整个系统有点太宽泛,无法在这里回答,但我可以解决有关使用模拟服务器的部分。

Sinon.JS ,一个测试双重库,有一个假的 XHR/服务器,非常适合模拟响应。

在此示例中来自 docs ,我们在安装过程中初始化假服务器并在拆卸过程中将其删除。然后我们使用 server.respondWith() 告诉服务器要返回哪些数据。

通常由 getCommentsFor() 进行的服务器调用被假服务器拦截,并使用 respondWith() 提供我们在测试中提供的数据。通过调用 server.respond(),虚假服务器调用会立即执行,这意味着我们不必考虑通常的异步操作。

{
setUp: function () {
this.server = sinon.fakeServer.create();
},

tearDown: function () {
this.server.restore();
},

"test should fetch comments from server" : function () {
this.server.respondWith("GET", "/some/article/comments.json",
[200, { "Content-Type": "application/json" },
'[{ "id": 12, "comment": "Hey there" }]']);

var callback = sinon.spy();
myLib.getCommentsFor("/some/article", callback);
this.server.respond();

sinon.assert.calledWith(callback, [{ id: 12, comment: "Hey there" }]));
}
}

关于javascript - 如何对 javascript 客户端身份验证进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19383907/

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