我正在关注http://www.railstutorial.org/的教程,到目前为止,所有开发工作都进展顺利。然而,当我开始进行单元测试时,我遇到了一个问题。
例如,其中一项测试如下:
require 'spec_helper'
describe "Static pages" do
describe "Home page" do
it "should have the content 'Sample App'" do
visit '/static_pages/home'
expect(page).to have_content('Sample App')
end
.
.
.
end
end
为了让测试工作,我必须将其更改为require 'test_helper'
,但是当我尝试bundle exec rake test
时,它会给我一些关于没有这种describe
方法的错误。
我能够成功运行的一项测试如下:
require 'test_helper'
class StaticPagesTest < ActionDispatch::IntegrationTest
def test_connection
get "/about"
assert_response :success, "missing about page"
assert_select 'title', "About Us"
end
end
我只是想知道解析单元测试的方式是否有一些变化,因为它似乎是完全不同的语法。有什么我需要做的不同,以获得&#34;描述&#34;工作方法,还是只有一种新方法来完成同样的任务?
答案 0 :(得分:1)
第一个代码块使用rspec
框架,而第二个代码块使用Test::Unit
框架。
两者都是合法的单元测试框架,每个框架都有自己的优势,每个框架都有自己的语法......
现在已经存在了很长一段时间,所以,回答你的问题 - 不,没有任何改变......