【发布时间】:2020-11-24 09:43:36
【问题描述】:
我正在使用 Cypress 进行一些 E2E 测试。
由于不支持fs的节点函数,所以我将它们模拟如下。
在我的测试文件中:
window.Cypress.fs = require('fs')
window.Cypress.fs.existsSync = () => { return true // custom return }
window.Cypress.fs.lstatSync = () => { // custom return }
但现在我遇到了一些错误:
fs.lstatSync(...).isFile is not a function
如何覆盖/模拟/存根isFile()?
我试过了:
window.Cypress.fs.lstatSync.isFile = () => { return true }
//and
window.Cypress.fs.lstatSync().isFile = () => { return true }
但它不起作用。
这是我的源代码(不是模拟的):
return fs.lstatSync(filePath).isFile()
有什么想法吗??
【问题讨论】:
-
你试过
window.Cypress.fs.lstatSync = () => { return { isFile(){return true} } }吗? -
@ManuelSpigolon - 天哪,谢谢,这行得通!我怎么能错过呢?!您可以将此作为答案发布,以便我接受吗?谢谢!!
标签: node.js mocking cypress fs stub