我们正在使用Cordova插件之一来锁定混合应用程序的方向。在AppComponent中,我们有一个锁定屏幕方向的代码。为此,我们使用 window.screen.orientation.lock 功能。如何使用Jest模拟上述功能?
答案 0 :(得分:0)
默认情况下,Jest
使用jsdom
提供了类似浏览器的环境。
This是jsdom
为window.screen
实现的。
orientation
不是由jsdom
实现的,但是可以在测试期间将其添加到window.screen
提供的jsdom
中:
code.js
export const func = () => {
window.screen.orientation.lock();
}
code.test.js
import { func } from './code';
test('func', () => {
const lock = jest.fn();
window.screen.orientation = { lock }; // <= add orientation mock to window.screen
func();
expect(lock).toHaveBeenCalled(); // Success!
})