0
所以我有一个依赖:依赖加载和文件系统惩戒
dep = require('dep')
如果我模拟出DEP调用的函数之前的文件系统中,DEP从导出的文件未找到。
mockFs({})
dep.bar() #file where dep exported from not found
如果我打电话嘲讽了DEP从发现导出的文件之前的功能。
dep.foo()
mockFs({})
dep.bar() #works
有什么想法来解释这种行为?
谢谢!任何想法让它继续并加载?看起来像其他函数也加载,如果事先调用dep.foo() – Drew
这是一个棘手的部分关于单元测试和嘲笑 - 文件的加载顺序!通常,所有require()都位于每个文件的顶部,因此所有这些依赖关系都会被加载,因为在第一个测试文件(和第一个mock)甚至运行之前,所有文件都会先加载!一些模拟库具有可以接管现有功能甚至需要缓存的“间谍”。有时你可以改变那些'require()'调用的地方,以便有效地模拟它们。 – clay
对于我在调用上面的场景2中的第二个函数时没有发现与依赖关系相关的文件而言没有考虑到的内容有什么想法?在所有代码之前都需要依赖项。谢谢你! – Drew