我想在cypress测试中创建一个特定大小(20MB)的文件。
我不想在灯具中包含真实文件,因为这会使我的存储库混乱。
我无法使用环境文件,因为它将在本地和CI上运行。它必须是平台无关的。
有没有一种方法可以在不使用系统脚本的情况下进行测试?就像这个问题Creating an empty file of a certain size?
一样答案 0 :(得分:1)
使用cy.task解决了该问题。
在我的测试中
cy.task('createFile','fileName')。then(....测试代码)
在plugins / index.js中
const fs = require('fs');
on('task', {
createFile(fileName) {
return new Promise((done) => {
const fh = fs.openSync(config.fileName, 'w');
fs.writeSync(fh, 'ok', Math.max(0, DESIRED_SIZE));
fs.closeSync(fh);
done(true);
});
}
});