Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在描述和描述之间进行测试';做end不考虑测试_Ruby On Rails_Unit Testing - Fatal编程技术网

Ruby on rails 在描述和描述之间进行测试';做end不考虑测试

Ruby on rails 在描述和描述之间进行测试';做end不考虑测试,ruby-on-rails,unit-testing,Ruby On Rails,Unit Testing,我有一个测试,看起来像这样: class PageTest < ActiveSupport::TestCase describe "test" do test "should not save without attributes" do page = Page.new assert !page.save end end end class PageTest

我有一个测试,看起来像这样:

class PageTest < ActiveSupport::TestCase

  describe "test" do
    test "should not save without attributes" do
      page = Page.new
      assert !page.save
    end
  end

end
class PageTest
运行测试时,我得到
0个测试,0个断言。如果我删除描述“test”do,我会得到
1个测试,1个断言
。所以我觉得描述“…”的做法实际上是让测试消失


这是怎么回事?我缺少什么?

看起来你把minitest
规范和
ActiveSupport::TestCase
混在一起了。如果在测试时选中,则说明了
测试
方法,但该方法未与
描述
一起使用

Rails添加了一个采用测试名称和块的测试方法。信息技术 生成一个普通的MiniTest::单元测试,方法名前缀为 测试。所以

就好像你写过一样

descripe
语法在
spec
部分下进行了解释,并与
it
(而不是
test
)一起使用。像这样:

 describe "when asked about cheeseburgers" do
   it "must respond positively" do
     @meme.i_can_has_cheezburger?.must_equal "OHAI!"
   end
 end
def test_the_truth
  assert true
end
 describe "when asked about cheeseburgers" do
   it "must respond positively" do
     @meme.i_can_has_cheezburger?.must_equal "OHAI!"
   end
 end