草庐IT

test_proc

全部标签

ruby - 使用 Test::Unit,如何在所有测试(但不是每个测试)之前运行一些代码?

在我使用test::unit的测试应用程序中,我需要首先从各种来源提取大量数据。我只想执行一次-数据只读,不写,并且不会在测试之间更改,加载(和加载错误检查)需要一些时间。有些值我每次都想重置,这些很容易,但如果我想要持久的可访问值怎么办?执行此操作的最佳方法是什么?我对可以让我将这些作业推送到可以包含在我所有测试中的某个模块的解决方案特别感兴趣,因为它们都需要访问这些数据。 最佳答案 为什么在测试中需要它?您可以将其定义为全局:gem'test-unit'#,'>=2.1.1'#startuprequire'test/unit'G

ruby - 如何使用类变量中定义的 lambda/Proc 中的实例变量?

我写了下面的代码:classActionsdefinitialize@people=[]@commands={"ADD"=>->(name){@people->(n=0){puts"Goodbye"},"OTHER"=>->(n=0){puts"DoNothing"}}enddefrun_command(cmd,*param)@commands[cmd].callparamif@commands.key?(cmd)enddefpeople@peopleendendact=Actions.newact.run_command('ADD','joe')act.run_command('AD

ruby-on-rails - &Proc.new 在方法中的作用是什么?

我在rails源代码中找到了&Proc.new的用法:#rails/railties/lib/rails/engine.rbdefroutes@routes||=ActionDispatch::Routing::RouteSet.new@routes.append(&Proc.new)ifblock_given?@routesend我不明白表达式&Proc.new是如何工作的。我写了类似的代码但失败了:defmethod_name&Proc.newifblock_given?endproc=method_name{puts'Helloworld!'}proc.call我收到语法错误:s

ruby-on-rails - Rails 教程 3 第 7 章 : User Model Rspec Test Failing

我一直在成功地遵循Rails教程3,直到我到达第7章并实现了用户模型,现在我的rspec一直失败。这是我的user.rb文件输出classUsertrue,:length=>{:maximum=>50}validates:email,:presence=>true,:format=>{:with=>email_regex},:uniqueness=>{:case_sensitive=>false}validates:password,:presence=>true,:confirmation=>true,:length=>{:within=>6..40}before_save:encr

javascript - Ruby 作用域,从函数返回 Proc

我有JavaScript背景,已经习惯了使用JavaScript的动态范围将值封装在函数中。例如:functionDog(firstname,lastname){this.fullname=firstname+lastnamereturn{say_name:function(){returnfullname;}}}现在在Ruby中,我不太确定这样的东西是否会工作得很好:classFooattr_accessor:bar,:bazdefinitializebar,baz@bar=bar@baz=bazenddefgive_me_a_procreturnProc.new{@bar+@baz

ruby - bundle exec rake test 什么都不做

我正试图让我的头脑“弄脏”TDD,但出于某种原因,当我在命令行上运行bundleexecraketest时,没有任何反应。这是我的RakeFile:require'rake/testtask'Rake::TestTask.newdo|test|test.libs:test这是我的测试文件:require'test/unit'classTestMygem 最佳答案 我忘了将这一行添加到我的RakeFiletest.test_files=FileList['tests/test_*.rb']总而言之,这是我的最终RakeFilerequ

ruby - 枚举器 yielder.yield VS Proc.yield

我最近开始阅读《ProgrammingRuby1.9&2.0》这本书。它显示了显式枚举器的技巧triangular_numbers=Enumerator.newdo|yielder|number=0count=1loopdonumber+=countcount+=1yielder.yieldnumberendend5.times{printtriangular_numbers.next,""}puts我想知道为什么这个yielder.yield会暂时离开loop并返回number的值,直到创建下一个枚举器对象。当循环block内的yield时,它似乎与通常情况不同。我查看APIdock

ruby-on-rails - 哪个更适合用于 Rails 模型验证 : Proc or lambda?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭3年前。Improvethisquestion我知道proc和lambda之间的区别。根据指南,在Rails模型验证中使用哪个更好:Proc还是lambda?过程:与block类似的行为。可以存储在变量中并四处移动。参数数量没有问题。return从proc将退出调用它的方法。lambda:与Proc相同,但更接近方法。对收到的和需要的参数严格。return从lambda将退出lambda,调用它的方法将继续执行。但我还没有看到它产生影

ruby - 基本 ruby 数组代码 : Testing if an array has a specific integer

我正在尝试测试数组中是否包含特定整数。现在我正在使用这个测试;defadmin?current_user.role_ids==[1,2]||current_user.role_ids==[2]||current_user.role_ids==[1,2,5]end代码有效,但我更愿意只测试整数“2”,而不是明确写出包含“2”的所有可能的数字组合。如果您有任何ruby建议,我将不胜感激。这是我在飞行中所能想象到的最好的结果。谢谢! 最佳答案 您是否在寻找Array#include??current_user.role_ids.inclu

ruby-on-rails - 私有(private)方法 `test' 调用 #<ActiveRecord::ConnectionAdapters::TableDefinition:0x7f2a8fb07c30>

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭3年前。Improvethisquestion有没有人可以看看。我对此感到困惑。非常感谢你。[river@localhostdemo04]$rakedb:migrate--traceWARNING:'require'rake/rdoctask''isdeprecated.Pleaseuse'require'rdoc/task'(inRDoc2.