草庐IT

assert_equal

全部标签

ruby-on-rails - Rake 测试失败 assert_match

我正在关注AgileWebDevelopementwithrails4在抽成测试中我失败了。我不知道出了什么问题...我知道这会导致问题assert_match/1×\s*ProgrammingRuby1.9/,mail.body.encoded我的order_notifier_test,我的shipped.text.erb在app/views/order_notifier下失败OrderNotifierTest#test_shipped[Work/depot/test/mailers/order_notifier_test.rb:17]:Expected/1×

ruby-on-rails - 类="with equal sign in front"和类:"with Colon"的区别

我是ruby​​onrails的新手,抱歉,如果这是一个愚蠢的问题。这里我有一个class=""的例子class="tabletable-striped"下面是一个类的例子:“”class:"btnbtn-primarybtnbtn-success"请解释一下它们之间的区别。谢谢 最佳答案 class="是一个HTML表达式,而class:"是一个Ruby表达式。您没有给出您看到这些内容的任何上下文,所以请允许我插入我自己的内容。假设您有一个View,index.html.erb,具有以下标记:u在这里,您可以看到table元素具有

ruby - 这看起来像 ruby​​ Time equality bug 吗?

为什么第二次比较中的false?我没有加载任何库。putsRUBY_DESCRIPTIONt=Time.nowt1=Time.at(t.to_f)t2=Time.at(t.to_f)puts(t1==t2)puts(t==t1)puts(t.to_f==t1.to_f)printf"%.64f\n%.64f\n%.64f\n",t,t1,t2输出:ruby1.9.3p194(2012-04-20revision35410)[x86_64-darwin11.4.0]truefalsetrue1347661545.43484401702880859375000000000000000000

ruby - Ruby 中是否有 "&& Equals"运算符

我经常发现自己在做这样的事情:do_somethingifx&&x==y在其他工作中,如果x不为nil,并且它的值为y,则执行某些操作。如果我能做这样的事情就好了:do_somethingifx&&==y有运营商做这件事吗?评论回复:x==y-问题在于,如果y的值已知,它只会测试是否存在(而非nil)。如果y本身是nil那么检查失败。所以你最终可以这样做:y&&x==yx||=y-如果x为nil,则将y的值赋给x.那不是我要找的。x&&=y出于同样的原因也不起作用-它会将x的值更改为y如果x存在。举个例子:在我当前的场景中,我想检查用户是否已将与其关联的token传递给Controll

ruby - MiniTest中的assert_predicate有什么用?

我无法理解assert_predicate在MiniTest中的用途。它与assert_equal?有什么不同?人们什么时候想使用这个断言?我遇到过很多次,但并没有真正理解它的确切含义。 最佳答案 assert_equal检查期望值和实际值是否相等:assert_equal"Bender",robot.nameassert_predicate调用目标对象上的命名方法,如果结果为真则通过:assert_predicaterobot,:bender?您可以像这样轻松地编写此测试:assertrobot.bender?但是assert_p

ruby-on-rails - 测试 flash 消息的内容 : `The assertion was not run because of an invalid css selector`

我想测试一条flash消息是否包含特定文本。所以我有这条线:assert_selectflash[:info],"Yourfeeisvalidtill"然而,这失败并显示错误消息:DEPRECATIONWARNING:Theassertionwasnotrunbecauseofaninvalidcssselector.unexpected'#'after''有人知道我做错了什么吗? 最佳答案 试试这个。assert_equal"Yourfeeisvalidtill",flash[:info]或assert_select'div.al

ruby - 为什么会调用 "wrong"equal方法呢?

上周我想在stackoverflow.com上回答一个问题,但在irb中运行一些测试后,我发现了一件有趣的事情。classXdef==(other)p"X#=="superendenddata=[1]data.include?(X.new)我希望Array#include?将对数组中的每个项目调用Fixnum#==。所以永远不会调用X#==并且永远不会打印调试消息。但实际上在我的ruby​​版本(REE1.8.7、MRI1.8.7、1.9.2和1.9.3)中,它会打印出X#==调试消息。如果我在true或false或nil甚至Object.new上这样做,它永远不会打印出来X#==消息

ruby - 如何使用 assert_raise 来测试 Ruby 中的错误?

我有程序factorial.rb和test_factorial.rb。前者看起来像这样:deffactorial(n)(1..n).inject(:*)||1endtest_factorial看起来像这样:deftest_numberassert_equal6,factorial(3),"3!shouldbe6"enddeftest_zeroassert_equal1,factorial(0),"0!shouldbe1"end我需要向测试文件添加另一种方法test_negative以确认当阶乘为负时引发错误。我查看了文档,但仍然不明白我应该做什么。我是否必须在assert_raise之

javascript - Minitest 的 assert_select 的 capybara 等价物是什么?

我是测试新手,所以如果我的方法有问题,请随时纠正我。我正在使用Minitest测试Rails4应用程序。由于我在许多页面中包含JS,因此我使用Capybara在我的测试中使用JS驱动程序,并且能够触发JS事件并测试预期结果。我的困惑开始了,因为有很多方法可以包含capybara。此外,我发现“正常的”断言式语法不适用于Capybara。在这里,我的困惑达到了顶峰。在我的研究过程中,我发现有一个Spec-styleDSLforCapybara以及其他一些。现在我使用gem'minitest-rails-capybara'(Github),并尝试使用此列表中的方法/DSL:RubyDoc我

Ruby:如何使用 assert_nothing_raised?

assert_nothing_raiseddo@board.make_move(0,0,Board::HUMAN)end文档说:Passesifblockdoesnotthrowanything.Example:assert_nothing_throwndo[1,2].uniqend我的make_move方法:defmake_move(x,y,player)returnfalseend我得到错误:test_can_make_valid_move_in_the_first_row(BoardTest):ArgumentError:wrongnumberofarguments(1for2)