Bla*_*ten 2 javascript coffeescript jasmine
我正在尝试测试是否String.toUpperCase使用Jasmine调用该方法.然而,无论何时我尝试它只是返回
toUpperCase()方法不存在
这是我的Jasmine测试:
spyOn(String,"toUpperCase")
$(@makeup.el).trigger(@e)
expect(String.toUpperCase).toHaveBeenCalled()
Run Code Online (Sandbox Code Playgroud)
有关如何测试是否被调用的任何想法?它似乎String是window对象的私有类,所以我实际上可能无法测试它.请帮忙.
没有String.toUpperCase功能.但是,有一种String.prototype.toUpperCase功能"pancakes".toUpperCase()可以使用.你应该有更好的运气:
spyOn(String.prototype, 'toUpperCase')
#...
expect(String.prototype.toUpperCase).toHaveBeenCalled()
Run Code Online (Sandbox Code Playgroud)
但是,本机函数不能保证行为类似于在JavaScript中实现的函数,所以如果这也不起作用也不要感到惊讶.
检查toUpperCase方法是否被调用过任何地方(这就是String.prototype.toUpperCase使用间谍进行包装的方法)似乎有点无意义,因为字符串在整个地方被使用; 监视一个特定的字符串会更有意义,但即便如此,这个特殊的测试似乎仍然有点无意义.
| 归档时间: |
|
| 查看次数: |
1369 次 |
| 最近记录: |