我想监视返回值是否为 true 并在另一个文件中使用它:
const Visitor = require("src/Visitor");
const jsonTest = require("src/jsonTest");
spyOn(jsonTest, "isCorrect").and.returnValue(true);
const oVisitor = new Visitor(...);
我也在 Visitor 文件中使用 isConrrect 函数,但是当我通过调试检查时, isCorrect 返回 false,即使我做了间谍,也不是 true。
有谁知道原因吗? 谢谢
我认为您在测试中导入/需要的
jsonTest
很可能与 Visitor
不同,这意味着当 Vistitor
执行 require('src/jsonTest');
时,他们正在获得另一个“实例”,我们需要监视在这个例子中。
我发现监视导入的最佳方法是:https://stackoverflow.com/a/62935131/7365461
这里有一个主题,解释了为什么随着 TypeScript 的发展,你无法监视导入:https://github.com/jasmine/jasmine/issues/1414