rails new test_app --skip-test-unit 不生成默认的test,稍后用rspec
cd test_app
修改Gemfile(大部分为自动生成)
source 'https://ruby.taobao.org' -- 使用淘宝镜像,因为连接不了rubygem # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '~> 5.0.0', '>= 5.0.0.1' --rails版本 # Use Puma as the app server gem 'puma', '~> 3.0' # Use SCSS for stylesheets gem 'sass-rails', '~> 5.0' # Use Uglifier as compressor for JavaScript assets gem 'uglifier', '>= 1.3.0' # Use CoffeeScript for .coffee assets and views gem 'coffee-rails', '~> 4.2' # See https://github.com/rails/execjs#readme for more supported runtimes # gem 'therubyracer', platforms: :ruby # Use jquery as the JavaScript library gem 'jquery-rails' # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks gem 'turbolinks', '~> 5' # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder gem 'jbuilder', '~> 2.5' gem "slim-rails" --能够让erb转slim # Use Redis adapter to run Action Cable in production # gem 'redis', '~> 3.0' # Use ActiveModel has_secure_password # gem 'bcrypt', '~> 3.1.7' # Use Capistrano for deployment # gem 'capistrano-rails', group: :development group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug', platform: :mri gem 'rspec-rails', '3.5.1' -- 此处添加最新rspec
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
end group :test do -- 添加capybara及其依赖gem,能够编写类英语交互语句 gem 'selenium-webdriver', '~> 2.53', '>= 2.53.4' gem 'capybara', '2.8.0' end group :production do gem 'pg', '~> 0.18.4' end group :development do --heroku部署用 # Access an IRB console on exception pages or by using <%= console %> anywhere in the code. gem 'web-console' gem 'listen', '~> 3.0.5' # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring gem 'spring' gem 'spring-watcher-listen', '~> 2.0.0' end # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
bundle install
bundle install --without production
bundle update
bundle install
生成rspec测试模块
rails generate rspec:install
push至git上
git init git add . git commit -m "Initial commit" git remote add origin url git push -u origin master
设置rails,让其服务于静态资源文件
config/environments/production.rb
TestApp::Application.configure do . . . config.serve_static_assets = true . . . end
spec测试文件:
require 'rails_helper' RSpec.describe "StaticPages", :type => :feature do describe "Home page" do it "should have the content 'Help'" do visit '/static_pages/home' expect(page).to have_content('Sample App') end end describe "Help page" do it "should have the content 'Help'" do visit '/static_pages/help' expect(page).to have_content('Help') end end end
测试语句
bundle exec rspec spec/requests/static_pages_spec.rb
启动rails
rails s