我如何使用 Cypress.io 来断言文件下载已启动而没有实际下载?

Ric*_*ter 6 cypress

下载是通过设置启动的

location.href = [some url to an image]
Run Code Online (Sandbox Code Playgroud)

我想断言,尽可能接近,下载会成功,但不实际执行下载。可以假设 URL 是正确的。

Jen*_*ane 2

location.href您本质上想要做的是对using进行存根调用cy.stub()但是测试您的应用程序是否已调用location.href并断言传递url给它的值有点棘手,因为href是一个属性,而不是一个函数。存根不能替换属性,只能替换函数。

这可以通过对应用程序代码进行一些重构来测试。在这个 stackoverflow 答案中有一个关于如何做到这一点的很好的答案:/sf/answers/2567525621/