首页 文章

单元测试通过Webstorm但终端失败 - 文件系统模块

提问于
浏览
0

我的项目在Node上运行 . 我正在用jest编写我的单元测试 . 除了使用文件系统模块的测试之外,我的所有测试都在工作 . 我在下面发布了更多数据 . 有谁知道为什么使用我的带有'fs'模块的readFile函数的测试在终端中失败但是在WebStorm IDE中传递?欢迎大家帮忙,谢谢!此外,该错误是不正确的,我通过调试,我看到我的文件被读取/加载,所以我不知道为什么它说它无法找到或打开它 .

错误: ENOENT: no such file or directory, open './files/history.txt'

2 | 
  3 | function readFile(file) {
> 4 |     return fs.readFileSync(file, 'utf8');
    |               ^
  5 | 
  6 | }
  7 |

测试期望:

expect(readFile(testFile)).toEqual(fileContent);

文件系统模块

const fs = require('fs');

function readFile(file) {
    return fs.readFileSync(file, 'utf8');

}

1 回答

  • 0

    readFileSync发生了一些奇怪的行为 . “似乎fs.readFileSync是相对于调用脚本的目录而不是脚本的实际位置 . ”

    这就是我所做的修复它 . 希望这有帮助,谢谢!

    function readFile(file) {
        return fs.readFileSync(`./files/${file}`, 'utf8');
    }
    

相关问题