在赛普拉斯中随时随地创建一定大小的文件

时间:2019-07-01 15:02:29

标签: javascript cypress

我想在cypress测试中创建一个特定大小(20MB)的文件。

我不想在灯具中包含真实文件,因为这会使我的存储库混乱。

我无法使用环境文件,因为它将在本地和CI上运行。它必须是平台无关的。

有没有一种方法可以在不使用系统脚本的情况下进行测试?就像这个问题Creating an empty file of a certain size?

一样

1 个答案:

答案 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);
      });
   }
});