我有一个奇怪的问题..rspec在spec/routing中生成了一个名为menus_routing_spec.rb的类测试失败,因为菜单是餐厅的嵌套资源。这是我的测试:describeMenusControllerdobefore:eachdo@restaurant=FactoryGirl.create(:random_restaurant)@menu=FactoryGirl.create(:menu)enddescribe'routing'doit'routesto#index'doparams={}params['restaurant_id']=@restaurant#get('
我正在阅读'Betterspecs'页面,并在其中一个示例中说:context'whenloggedin'doit{is_expected.torespond_with200}endcontext'whenloggedout'doit{is_expected.torespond_with401}end我不认识这个。我通常会这样做:context'whenloggedout'doit'respondswitha401'doexpect(response).toeq(401)endend这是什么语法? 最佳答案 这是在Rspec3.XX
所以这是我要测试的方法:defself.by_letter(letter)where("lastnameLIKE?","#{letter}%").order(:lastname)end这里有个小问题,#{letter}后面的百分号到底是做什么用的?与格式化有关?这是测试该方法的规范的一部分:context'method"by_letter"'doit'returnsandorderedlistbyletter'dotheon=Contact.create!(firstname:"Theon",lastname:"Greyjoy",email:"tgreyjoy@ironprice.co
我有一个像这样的RSpec测试:context'test#EnvironmentFile=method'doit'comparesthecommandgeneratedwiththeexpectedcommand'doknife=EnvironmentFromFile.new(@knife_cfg_file)knife.environment_file=(@environment_file)expect(knife.chef_cmd_to_s).toeql("C:/blah/blah/bin/knifeenvironmentfromfileMySampleEnvironment.jso
知道如何为从xlsxgem生成的xlsx文件编写View规范(是否存在标题、行等)吗?不确定我是否一开始就做对了,但这是我目前所做的RSpec.describe"spreadsheet.xlsx.axlsx",:type=>:viewdo...it"shouldhaveheaderBooks"doassign(:spreadsheet,spreadsheet)render#rendered.rows[0].cells.map(&:value).shouldinclude"Books"endend在pry中,rendered是一个utf-8编码的字符串,我不确定如何解析标题等。=>"PK
在Rspec中,我如何测试CSV文件中的行数?我已经在mutation中创建了一个CSV文件。我可以通过检查是否包含某些文本来测试CSV的输出。但是,我希望能够测试输出中的行数。请在下面找到我到目前为止测试通过的示例:describe"#execute"doit"createsaCSVforthespecifiedcontent"dooutcome=mutation.run(mutation_params)expect(outcome.result).toinclude("Name")endend 最佳答案 你可以只计算换行符:ex
在circleci上运行时,我看到一些关于rspec--bisect的意外行为。通常,平分会无限期地运行,直到5小时后超时。二分法最初似乎有效,但一旦达到预期的终点,它就会开始慢慢检查相反方向的子集,直到超时。我的环境:Ruby2.4.2p198(2017-09-14修订版59899)[x86_64-darwin16]RSpec3.7-rspec-core3.7.1-rspec-expectations3.7.0-rspec-mocks3.7.0-rspec-rails3.7.2-rspec支持3.7.1命令:DISABLE_SPRING=trueRAILS_ENV=testbundl
我什至不确定从哪里开始。抱歉,如果这是重复的,但我什至不知道要搜索什么或这个特定问题的名称。我的RSpec套件中的测试会随机地(但不是经常)失败,我会收到如下错误:expected:0.69got:0.69(0.69e0)(comparedusing==)RSpec代码正在比较来自两个不同模型的两个float,当规范完成时,它们应该是相同的值。有没有办法在命令控制台中重现它?我已经尝试了显而易见的东西(如下),但老实说我不知所措。如果我重新运行测试十几次,我无法重现问题。0.69==0.69e0=>true0.69==0.69=>true6.9e-1==0.69=>true
我的规范require'spec_helper'describe'user_sessions/new.html.erb'dolet(:user_session){mock_model(UserSession).as_null_object}beforedoassign(:user_session,user_session)endit'shouldhavethesigninheader'dorenderrendered.shouldcontain('Signin')endendthrow1)NoMethodErrorin'user_sessions/new.html.erbshouldh
我有一套RSpec测试,我想按以下层次结构进行分组:tests/featA/t1.rbt2.rbfeatB/t3.rb但是当我运行的时候$rspectests我得到以下信息:rspectestsNoexampleswerematched.Perhaps{:unless=>#,:if=>#}isexcludingeverything?Finishedin0.00003seconds0examples,0failures我觉得我快要疯了,但似乎没有办法让RSpec递归glob测试文件?是否存在此功能?编辑:我有一个解决方法:$rspec`findtests-name"*.rb"`但我怀疑我