class A include Logging log_to 'whatever'end
我想测试是否使用正确的参数调用方法log_to.但正如您可能已经猜到的那样,log_to方法来自Logging模块,并在类加载时被调用.如何编写规范或自定义匹配器来检查log_to是否被调用?
即使我在类A上模拟log_to方法,规范中也没有办法看看它是否会在类加载期间被调用时被调用.我尝试删除常量并再次加载它似乎不起作用.思考?
解决方法 这可能应该在spec文件的单独spec文件中,该文件测试A类的大部分功能:describe 'A' do it 'should log when loaded' do class A ; end A.should_receive(:log_to).with('whatever') require 'a' endend
不过,我会考虑将类的行为改为更容易测试的行为.在其构造中具有不寻常性或具有棘手限制的测试也是代码气味.
总结以上是内存溢出为你收集整理的ruby – 如何编写在类加载时调用的类方法的规范?全部内容,希望文章能够帮你解决ruby – 如何编写在类加载时调用的类方法的规范?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)