作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个简单的验证方法如下
function someMethod {
//some processing
}
我想对这个方法进行单元测试。我可以 mock 它的最简单方法是什么。通常如果我有一个对象如下:
var someObject = function() {
reload : function() {
//reload logic here
}
}
我可以 stub someObject 然后检查是否 mock(someObject).should_receive("reload").exactly('once')
或类似的东西。但是从这个时候我就有了一个方法。我该如何 mock 它?
最佳答案
模拟非面向对象的代码很困难。 Misko Hevery 在这里写道:http://misko.hevery.com/2008/12/15/static-methods-are-death-to-testability .困境是缺少可以将模拟内容注入(inject)计算的“钩子(Hook)”。
你可以得到实际的实现。该方法驻留在一个对象中。该方法将简单地委托(delegate)给该对象。因此,为了测试方法,您只需要测试对象(合理假设您获得了正确的委托(delegate)代码)。
关于javascript - 使用 ScrewUnit 模拟 javascript 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1973963/
我有一个简单的验证方法如下 function someMethod { //some processing } 我想对这个方法进行单元测试。我可以 mock 它的最简单方法是什么。通常如果我有一
我是一名优秀的程序员,十分优秀!