0

我刚开始用 capybara 创建测试,我已经面临一个问题。

所以我有一个之前做的事情是在数据库中创建一个具有值的行。

  @word = Word.create :word => 'bed'

之后,我测试是否在页面上可以找到该行。此外,我测试创建操作是否有效:

    visit keywords_path
    fill_in  'Word', :with => 'work'
    click_button 'Create Word'

    current_path.should == word_path(@word)
    page.should have_content 'work'

我得到了这个失败的测试

creates a new word
 Failure/Error: current_path.should == word_path(@word)
   expected: "/words/1"
        got: "/words/2" (using ==)

我知道问题出在哪里,但是如何根据新创建的行检查路径?

4

1 回答 1

1

既然您知道它将永远是最后一个,请尝试:

Word.last
于 2013-09-17T12:03:13.250 回答