因此,我尝试在Rails项目的上下文中学习rspecBDD测试框架。我遇到的问题是,在我的一生中,我无法在rspec描述中正确加载我的固定装置。免责声明:是的,有比固定装置更好的东西可以使用。在我开始使用相关工具(如factory-girl、mocha、auto-test等)之前,我试图一次学习一件事,在这里(特别是rspec)。因此,我试图让死的简单,如果笨重,固定装置工作。无论如何,这是代码:/test/fixtures/users.yml-#password:"secret"foo:username:fooemail:foo@example.compassword_hash:34
我正在开发一个依赖于许多自定义Rake任务的ROR应用程序。测试它们的最佳方法是什么? 最佳答案 类似于:defexecute_rake(file,task)require'rake'rake=Rake::Application.newRake.application=rakeRake::Task.define_task(:environment)load"#{Rails.root}/lib/tasks/#{file}"rake[task].invokeend根据您的规范:execute_rake("tags.rake","tags
我已经专门使用ruby大约一个月了,我真的很喜欢它。但是,我很难使用甚至学习TDD。我的大脑不是那样运作的……我真的非常想学习TDD,但老实说我有点困惑。我在谷歌搜索时发现的所有文章大多是针对Rails的,这对我来说并不有趣,因为我想学习如何对任何ruby应用程序进行有效测试,从简单的单文件脚本到复杂的gem,而不是网络应用程序。此外,有太多的框架和很少的入门教程。谁能给我一些关于如何学习TDD的建议,这样我至少可以开始认为自己是一个有抱负的rubyist? 最佳答案 尝试RubyKoans.
很像thisquestion,我也在使用RyanBates的nifty_scaffold。它具有使用Mocha的any_instance的理想方面。在Controller后面的模型对象中强制进入“无效”状态的方法。与我链接到的问题不同,我没有使用RSpec,而是使用Test::Unit。这意味着那里的两个以RSpec为中心的解决方案对我不起作用。是否有通用的(即:与Test::Unit一起使用)删除any_instancestub的方法?我认为它导致我的测试出现错误,我想验证这一点。 最佳答案 碰巧,Mocha0.10.0允许uns
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion我正在寻找一个相当新的开源应用程序,它使用Rspec2作为测试库。我想看看有经验的开发人员如何正确地利用该库来测试整个堆栈,因为我一直对自己的知识有疑问(来自testunit,部分原因是最新Rspec版本的文档相当稀疏,甚至尽管它在不断
我想用minitestRuby测试一个函数是否正确调用其他函数,但我找不到合适的assert来从doc中测试.源代码classSomeClassdefinvoke_function(name)name=="right"?right():wrong()enddefright#...enddefwrong#...endend测试代码:describeSomeClassdoit"shouldinvokerightfunction"do#assertright()iscalledendit"shouldinvokeotherfunction"do#assertwrong()iscalleden
我正在为Test::Unit苦苦挣扎。当我想到单元测试时,我会想到每个文件一个简单的测试。但在Ruby的框架中,我必须改写:classMyTest但是每次调用test_*方法时都会运行设置和拆卸。这正是我不想要的。相反,我想要一个只为整个类(class)运行一次的设置方法。但是我似乎无法在不破坏TestCase的初始化的情况下编写自己的initialize()。这可能吗?还是我让这件事变得无可救药地复杂了? 最佳答案 如HalFulton的书“TheRubyWay”中所述。他覆盖了Test::Unit的self.suite方法,该方
我在我们的Rails应用程序中进行了一次测试挂起,但无法确定是哪一个(因为它挂起并且没有收到失败报告)。我找到了这篇博文http://bmorearty.wordpress.com/2008/06/18/find-tests-more-easily-in-your-testlog/它添加了一个设置Hook来打印测试名称,但是当我尝试做同样的事情时,它给我一个错误,说设置参数的数量错误(1代表0)。任何帮助都将不胜感激。 最佳答案 如果您使用rake运行测试,它将起作用:raketest:unitsTESTOPTS="-v"
RSpec允许您通过执行以下操作在before(:each)block中获取当前运行的测试方法名称:Spec::Runner.configuredo|config|config.before:eachdo|x|x.method_name#returns'shouldbecool'endend这是为了这样的测试:requireFile.expand_path(File.dirname(__FILE__)+'/../spec_helper')describe'Helloworld'doit'shouldbecool'do#testcodeendend是否有可能在beforeblock中获得
我在JRuby1.7.4上测试包含lib目录的gem时遇到问题。我想测试位于lib/vger/resources/account_manager.rb的文件我的规范文件在spec/vger/resources/account_manager_spec.rbrequire'spec_helper'describeVger::Resources::AccountManagerdo..endend我正在尝试将要测试的文件包含在spec_helper.rb中require'rubygems'require'bundler/setup'require'vger/resources/account