加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

【Rails】有关TDD测试入门

发布时间:2020-12-14 05:27:31 所属栏目:百科 来源:网络整理
导读:1.让 Rails 使用 RSpec 而不用 Test::Unit rails generate rspec:install 2.为一些静态界面生成集中测试? $ rails generate integration_test static_pages ? ? ? invoke ?rspec ? ? ? create ? ?spec/requests/static_pages_spec.rb 可以很清楚的看到生成了


1.让 Rails 使用 RSpec 而不用 Test::Unit

rails generate rspec:install


2.为一些静态界面生成集中测试?

$ rails generate integration_test static_pages
? ? ? invoke ?rspec
? ? ? create ? ?spec/requests/static_pages_spec.rb

可以很清楚的看到生成了static_pages_spec.rb这个文件 ,内容如下:

require 'spec_helper'

describe "StaticPages" do
  describe "GET /static_pages" do
    it "works! (now write some real specs)" do
      # Run the generator again with the --webrat flag if you want to use webrat methods/matchers
      get static_pages_index_path
      response.status.should be(200)
    end
  end
end

3.写一个测试首页内容的测试:

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


4若要测试正确运行,我们要在 spec_helper.rb 中加入一行代码

RSpec.configure do |config|
  .
  .
  .
  config.include Capybara::DSL
end

5.运行测试:

bundle exec rspec spec/requests/static_pages_spec.rb

可以看到我们的测试是失败的,因为首页是系统为我们生成的,不包含测试通过所需要的“Sample App”

将其修改便可以使得测试通过,这就是BDD,行为驱动测试,先写失败的测试,不断改进,使之成功。


如果写一个有关“About”页面的测试,开始提示路由失败,我们添加路由,提示action找不到错误,继续添加action,发现缺少模板,添加相关页面文件,最后测试变绿?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读