【发布时间】:2018-09-04 15:20:19
【问题描述】:
在我的 node.js 应用程序中,我有一个函数应该在用户执行 http put 请求时重命名目录路径。 无论如何,这个函数使用 shelljs,当我手动测试它时它可以工作,但是当我尝试在我的模拟文件系统上用 mocha 进行测试时,shelljs 在我的真实文件系统上运行所有 shell 命令。
我该如何解决?
顺便说一句,我为此使用了 mock-fs,而且我对单元测试非常陌生。
谢谢
阿米特
【问题讨论】:
-
这意味着 shelljs 启动了另一个不受此过程中的模拟影响的进程(正如预期的那样)。在单元测试中,通常需要模拟所有产生副作用的东西,包括第三方单元,shelljs 就是这样。
标签: node.js unit-testing mocking mocha.js shelljs