2016-11-08 70 views
-1

我有一个脚本,我通过调用node filename来运行。我试图单元测试这个文件中的特定功能。问题是,当我需要像app = require('../app')这样的文件运行整个脚本,我只想访问导出的函数。有什么办法可以防止脚本函数在文件导入时运行?如何防止在Node.js中需要文件时运行脚本功能

回答

-1

你基本上想要的是部分执行你需要的模块。

所以答案是否定的,除非你修补这个模块的代码。

0

对于'可以停止脚本运行'来做单元测试的问题的答案基本上是。不过,您可能会发现很多选项都有帮助。首先是通过取消需要运行的操作来使节点模块更加模块化。我的建议是改变它,以便它有一个参数:

node filename run 

当'run'参数存在时,常规操作会触发。这将允许您在始终运行脚本的文件中要求,但没有“运行”它将不会执行您不需要的操作。你甚至可以有一个“测试”选项在测试模式下运行它。另一个我认为不太有用的选择是将你想测试的功能移动到它自己的文件中,并将它们放入主要部分。然后您可以单独进行测试。

相关问题