2017-10-06 46 views
0

我想测试一种方法,它所做的一件事锁定屏幕的方向。然而茉莉花却错误地排队:
(<any>window).screen.orientation.lock('portrait')说那undefined is not a constructer未在茉莉花中定义窗口对象

我什至尝试不使用typescript类型,只是window.screen.msOrientationLock('landscape')和其他window.screen方法,但我得到同样的错误。我的_$window_也注入了我的测试beforeEach

测试它是否锁定不是我测试的必要部分,所以有一些方法可以跳过此特定行或更正此错误。谢谢:)

回答

0

好吧,这很容易。我必须注入窗口对象并将其分配给我的全局变量beforeEach,如下所示:

$window = _$window_;

然后,下一个问题是该物件orientation不幸在window.screen对象中不可用。我不得不嘲笑它在我里面的规格如下:

$window.screen.orientation = { lock: function() { return; } };

刚把间谍之前做到这一点/调用它有它里面window.screen.orientation.lock方法的方法。