生成无效的文件名以进行测试

时间:2014-10-17 05:42:22

标签: javascript node.js file unit-testing

我有一段我需要测试的代码。其中一项测试需要在创建stream.Writable时添加覆盖范围,并提供指定的output文件名。

我需要测试Writable应该失败的情况,它应该发出error事件并执行正确的错误处理函数等等。

现在,我想我应该只创建一些无效的文件,使用一些奇怪的名字。但这项任务似乎比预期的要困难得多。

如何自愿将此代码段放入catch块?

outputFile = String(outputFile);   // not exactly how this is really done, 
                                   // but the end result is the same

try {
  writer = fs.createWriteStream(outputFile, { flags: 'w' })
    .on('error', errorHandler)          // basically throws the error
    .on('close', closeHandler);         // function 100% tested
} catch (e) {
  // irrelevant code regarding this question, untested so far
}

基本上,outputFile可能是什么价值?

**编辑**

临时测试目录的屏幕截图,其中根据该违规代码创建了奇怪的名称。

enter image description here

1 个答案:

答案 0 :(得分:1)

编辑:

尝试使用非常长的文件名。 (好像fs最多只支持255-260个字符)

忽略下面的部分


我的解决方案是有一个共同的errorHandler,即代码就像......

try{
        writer = fs.createWriteStream(outputFile, { flags: 'w' })
        .on('error',errorHandler)
        .on('close', closeHandler);
}catch(e){
    errorHandler(e);
}