我有一个Rails控制器动作来测试.在那个动作中,一个方法User.can?使用不同的参数多次调用.在其中一个测试用例中,我想确保调用User.can?('withdraw').但是我不关心User.can的调用?与其他参数.
def action_to_be_tested
...
@user.can?('withdraw')
...
@user.can?('deposit')
...
end
Run Code Online (Sandbox Code Playgroud)
我在下面尝试了测试:
User.any_instance.expects(:can?).with('withdraw').at_least_once.returns(true)
Run Code Online (Sandbox Code Playgroud)
但测试失败,并显示消息指示User.can的意外调用?('deposit').如果我用参数'deposit'添加另一个期望值,则测试通过.但我想知道是否有任何方法,我可以专注于'withdraw'参数调用(因为其他调用与此测试用例无关).
给定一个父类Fruit和它的子类Apple和Banana,是有可能存根方法foo定义Fruit,这样就方法的任何调用foo上的任何实例Apple和Banana被存根?
class Fruit
def foo
puts "some magic in Fruit"
end
end
class Banana < Fruit
...
end
class Apple < Fruit
...
end
Run Code Online (Sandbox Code Playgroud)
Fruit.any_instance.stubs(:foo)没有工作,看起来它只是水果实例的存根.除了为每个子类调用存根之外,还有一种简单的方法来实现这个目的吗?
发现此链接提出了类似的问题,但它看起来还没有得到回答. http://groups.google.com/group/mocha-developer/browse_thread/thread/99981af7c86dad5e
看看这段代码http://jsfiddle.net/u6N6T/3/.手风琴正常工作.
但是在加载prototype.js时会破坏它,请参阅http://jsfiddle.net/jWZBD/8/.
我按照http://api.jquery.com/jQuery.noConflict/来使JQuery与原型一起工作,但即使我将bootstrap.js包装在"jQuery(document).ready(function($)中,手风琴也无法正常工作){});".
是否有人知道在加载原型时使Bootstrap工作的方法?或者我必须将所有现有的基于原型的javascripts转换为JQuery?