• rails创建项目,部署,测试流程(rails5.0+ruby2.3.1)


    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
  • 相关阅读:
    工作态度
    SQL7.0有如下问题:视图字段未及时刷新
    遇到不讲交期的客户
    关于CashFiesta.com
    设置主机多IP技术失败
    已好的客户要建立VSS了
    MSSQL说日志已满
    特殊的四舍五入
    如何保证对帐不遗漏?
    Linux常用命令之其它类型命令汇总
  • 原文地址:https://www.cnblogs.com/guochunyi/p/5809029.html
Copyright © 2020-2023  润新知