我们使用的是Cordova插件之一来锁定混合应用程序的方向。在AppComponent中,我们有一个锁定屏幕方向的代码。为此,我们使用 window.screen.orientation.lock 函数。如何使用开玩笑模拟上述功能?
默认情况下Jest
使用jsdom
提供类似浏览器的环境。
这是jsdom
为window.screen
实施的内容。
orientation
未由jsdom
实现,但可以将其添加到测试期间jsdom
提供的window.screen
中:
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!
})