【问题标题】:Testing a file that calls its own function测试调用自己的函数的文件
【发布时间】:2022-06-10 22:10:16
【问题描述】:

我有一个文件是我的应用程序的入口点;

const main = async () => {
   // Do stuff
}

main().then();

我知道我可以导出 main 函数,删除第一个文件中的调用并在单独的文件导入中调用该函数;

const entry = require('./rewritten-entry.js');
entry.main().then();

但是为了争论,可以说我真的很想测试第一个文件的main 函数。一旦我在测试中导入文件,主函数就会在我到达测试代码之前执行;

const entry = require('./original-entry.js')    // <-- main function executes here

const test = {
  // Do test stuff
}

对于测试,我不希望这种情况发生。同样,我不想模拟该函数,因为它正是我想要测试的。

我到处都能看到这种常见的“初始化”逻辑,所以我想有一种方法可以测试它。

【问题讨论】:

  • 如果您了解可以对其进行重构以进行测试,为什么不这样做?如您的示例所示,导入文件会运行该函数,此时您所能做的就是断言任何副作用。

标签: javascript node.js testing


猜你喜欢
  • 2019-04-18
  • 1970-01-01
  • 1970-01-01
  • 2016-09-24
  • 2021-05-05
  • 2019-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多