【发布时间】:2017-09-15 15:49:12
【问题描述】:
我想模拟一个全局变量并测试它是否在我的函数中被调用。在我的文件中,我定义了一个全局变量“remote”,它实例化了一个主题(RxJS 库)。我只是想测试是否使用正确的参数“名称”调用了 Subject 的下一个函数。但是,我无法访问测试文件中的全局变量 remote。我试图在我的设置文件中模拟它,但不起作用。
我该怎么做?
const remote = new Subject();
const analytics = {
click: (name) => {
if (name) {
remote.next(name);
}
}
}
module.exports = analytics;
谢谢!
【问题讨论】:
-
我猜你用的是webpack,
remote不是全局变量 -
嘿@Zen 感谢您的回答。是的,我正在使用 webpack。 Jest 告诉我它不知道新 Subject 的属性“next”(如果您对 observables 有所了解,next 是 Subject 类的经典方法)。关于如何让 Jest 了解“远程”变量的任何想法?
标签: unit-testing testing mocking rxjs jestjs