我正在学习如何测试客户端(例如,当您点击某个按钮时,它应该会发生一些事情)。
我正在使用Jasmine和Phantom来测试客户端,执行类似这样的操作(它或多或少是伪代码,就像示例一样):
describe("testing front-end", function () {
it("should do something when clicking some button", function (done) {
openPageInPhantom("my-page", function () {
this.find("my-button").click();
expect(something).toBe(happened);
done();
});
});
});
当不需要身份验证时,此工作正常。我不明白的是如何在测试中处理身份验证。
因此,我们假设我必须单击的按钮仅对登录用户可见。所以,首先我们需要登录。
如何处理基本身份验证?
在测试中存储用户名和密码是一种好习惯吗?我在StackOverflow上看到了答案,而其他人则说it should be done differently。
如何在测试中处理OAuth?
如果通过提供商(例如Twitter)登录后可以访问内容(在我的情况下是示例按钮),并且只有在来自登录提供商的某些数据进入数据库后才会显示,我不知道该怎么做那与OAuth。我确实看到很多答案说你不应该测试别人的代码而不是你的。