javascript - 间谍没有检测到函数调用 sinonjs
问题描述
对于网站测试,我使用赛普拉斯。我有一些自定义事件,我使用 cy.spy。第一次它工作正常,但是如果我在第一次之后直接第二次运行该函数,它总是说“预期的”测试“已经用参数“测试”被调用,但它从未被调用“。我也尝试过等待,但这并没有改变。
Cypress.Commands.add('waitForEvent', (event, absoluteSelector, expectedURL) => {
cy.window().then((win) => {
const spyFuncName = expectedURL,
spyObj = {},
eventCallback = function(e) {
win.removeEvent(event, win.document, eventCallback);
console.log("WANTED", e.data.url);
spyObj[spyFuncName](e.data.url);
}
spyObj[spyFuncName] = function(eventUrl) {
console.log("WANTED", "Spy: " + eventUrl);
}
cy.spy(spyObj, spyFuncName);
win.addEvent(event, win.document, eventCallback);
cy.get(absoluteSelector)
.click()
.then(() => {
expect(spyObj[spyFuncName]).to.be.calledWith(expectedURL);
});
});
})
赛普拉斯版本:7.6.0
解决方案
推荐阅读
- mongodb - 带有 TTL 索引的 Mongo 集合不回收磁盘空间
- wpf - 如何使用自定义顶点和纹理属性在 WPF 中为 3D 网格编写自定义着色器?
- powershell - 从 powershell 脚本导出 CSV
- python - vscode python“保存格式”与“类型格式”不同
- sql - 具有 min 功能的多条记录
- vue.js - Vee Validate 3 在表单提交时捕获错误
- android - Android java.net.SocketException:权限被拒绝
- python - 获取具有多个涉及两列以上的日期条目的数据框的结束日期
- css - 使用css停止滚动内部div
- python - Python:通过 python 发送邮件会创建未知附件