Javascript “如何嘲笑”;“窗口.屏幕.方向.锁”;使用玩笑的函数?
我们正在使用一个cordova插件来锁定混合应用程序的方向。在AppComponent中,我们有一个锁定屏幕方向的代码。为此,我们使用了window.screen.orientation.lock函数。如何使用Jest模拟上述函数?默认情况下Javascript “如何嘲笑”;“窗口.屏幕.方向.锁”;使用玩笑的函数?,javascript,angular,unit-testing,cordova,jestjs,Javascript,Angular,Unit Testing,Cordova,Jestjs,我们正在使用一个cordova插件来锁定混合应用程序的方向。在AppComponent中,我们有一个锁定屏幕方向的代码。为此,我们使用了window.screen.orientation.lock函数。如何使用Jest模拟上述函数?默认情况下Jest使用jsdom提供类似浏览器的环境 是jsdom为window.screen实现的 定向不是由jsdom实现的,但它可以添加到窗口中。在测试过程中,由jsdom提供的屏幕: code.js export const func = () => {
Jest
使用jsdom
提供类似浏览器的环境
是jsdom
为window.screen
实现的
定向
不是由jsdom
实现的,但它可以添加到窗口中。在测试过程中,由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!
})
从“/code”导入{func};
测试('func',()=>{
const lock=jest.fn();
window.screen.orientation={lock};//默认情况下Jest
使用jsdom
提供类似浏览器的环境
是jsdom
为window.screen
实现的
定向
不是由jsdom
实现的,但它可以添加到窗口中。在测试过程中,由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!
})
从“/code”导入{func};
测试('func',()=>{
const lock=jest.fn();
window.screen.orientation={lock}//