这是我的第一个前端测试经验。在这个项目中,我正在使用jest快照测试,并且TypeError: window.matchMedia is not a function
组件内部出现错误。
我浏览了一些有趣的文档,发现“手动模拟”部分,但是我还不知道该如何做。
开玩笑的文档现在有一个“官方”解决方法:
Object.defineProperty(window, 'matchMedia', {
writable: true,
value: jest.fn().mockImplementation(query => ({
matches: false,
media: query,
onchange: null,
addListener: jest.fn(), // deprecated
removeListener: jest.fn(), // deprecated
addEventListener: jest.fn(),
removeEventListener: jest.fn(),
dispatchEvent: jest.fn(),
})),
});
JSDOM中未实现的模拟方法
这是我第一次体验前端测试。在这个项目中,我使用Jest快照测试并得到一个错误。 我查阅了Jest文档,找到了“手动模拟”部分,但我还不知道如何做到这一点。
问题内容: 我正在尝试为一个简单的React组件编写一个简单的测试,并且我想使用Jest来确认我用酶模拟点击时已调用了一个函数。根据Jest文档,我应该能够使用它:spyOn。 但是,当我尝试此操作时,我不断得到暗示我的间谍未定义的信息。我的代码如下所示: 在我的测试文件中: 有人了解我在做什么错吗? 问题答案: 嗨,伙计,我知道我来晚了,但是除了您的方式之外,您几乎已经完成,没有任何改变。当您使
问题内容: 我有这个反应 在这种情况下,如何测试axios?开玩笑说那里有一个异步代码的用例,在那里他们使用了模拟功能,但是我不知道我是否可以用axios做到这一点?参考:https : //facebook.github.io/jest/docs/tutorial- async.html 到目前为止,我已经测试了它是否返回了正确的类型 我不知道如何传递模拟数据并测试它是否返回,但是有人有任何想法
我怎样才能使jest测试在任何抛出的错误上失败? 我试了一下,但还没有弄清楚语法。 我收到错误消息 getArcId getArcId=&>;错误 expect(received).rejects.ToThrow() 接收的函数未引发 但是下面的测试通过了,所以我要测试的函数确实抛出了(至少在我对抛出含义的最好理解下是这样的):
我有下面的打字稿类,我想测试在笑话。 这是我的测试: 如何模拟MyClass中使用的foo函数,以使测试通过?
我创建了这个类: 在服务中: 我想知道,在开玩笑的情况下,是否可以这样做: