问题
The download is initiated by setting
location.href = [some url to an image]
I want assert, as close as possible, that the download will succeed but without actually performing the download. That the URL is correct can be assumed.
回答1:
What you essentially want to do is stub a call to location.href using cy.stub(), but testing that your application has called location.href and asserting the url passed to it is a bit tricky since href is an attribute, not a function. Stubs cannot replace attributes, only functions.
This is testable with some restructure of your application code. There is a great answer on how to do this in this stackoverflow answer: https://stackoverflow.com/a/36678937/5878476
来源:https://stackoverflow.com/questions/47930881/how-can-i-use-cypress-io-to-assert-that-a-file-download-has-been-initiated-witho