我很难测试使用$ j(window).width()的函数。这个函数根据这个返回值。现在我的问题是我想在我的Qunit函数中设置窗口宽度。可以任何身体帮助???
答案 0 :(得分:1)
在您期望从您无法控制或至少需要测试的对象返回的值的情况下,您应该模拟返回值。看看JSMockito这是一个基于JavaScript的模拟框架。下面是一个简单的示例,它模拟一个Array对象,并设置在测试调用get(1)
方法时返回的值。
var mockedObject = mock(Array);
when(mockedObject).get(1).thenReturn("hello world");
// -- start code under test --
alert(mockedObject.get(1));
// the following alerts 'true' as get(99) was not stubbed
alert(typeof (mockedObject.get(99)) === 'undefined');
// -- end code under test --
希望这有帮助!