美文网首页
rspec(1) - summary

rspec(1) - summary

作者: auguszou | 来源:发表于2016-10-29 23:03 被阅读0次

    没有测试的代码就是耍流氓

    1. rspec(1) - summary
    2. specs(2) - model
    3. specs(3) - controller
    4. specs(4) - request
    5. specs(5) - mock
    6. [specs(6) - mailer]
    7. [specs(7) - view]
    8. [specs(8) - routing]
    9. [specs(9) - helper]
    10. [specs(10) - factory-girl]
    11. [specs(11) - fake other gems]
    12. [specs(12) - sidekiq]
    13. [specs(13) - db migration]
    14. [specs(14) - timecop]
    15. [specs(15) - jenkins]

    废话不多说,用代码说话。

    1. 新建rails项目(不带测试, 因为rails的默认测试为minitest)
     ~/code/ruby/ rails new rails5_test_demo_01 --skip-test
          create  
          create  README.md
          create  Rakefile
          create  config.ru
          create  .gitignore
          create  Gemfile
          create  app
          create  app/assets/config/manifest.js
          create  app/assets/javascripts/application.js
          create  app/assets/javascripts/cable.js
          create  app/assets/stylesheets/application.css
          create  app/channels/application_cable/channel.rb
          create  app/channels/application_cable/connection.rb
          create  app/controllers/application_controller.rb
          create  app/helpers/application_helper.rb
          create  app/jobs/application_job.rb
          create  app/mailers/application_mailer.rb
          create  app/models/application_record.rb
          create  app/views/layouts/application.html.erb
          create  app/views/layouts/mailer.html.erb
          create  app/views/layouts/mailer.text.erb
          create  app/assets/images/.keep
          create  app/assets/javascripts/channels
          create  app/assets/javascripts/channels/.keep
          create  app/controllers/concerns/.keep
          create  app/models/concerns/.keep
          create  bin
          create  bin/bundle
          create  bin/rails
          create  bin/rake
          create  bin/setup
          create  bin/update
          create  config
          create  config/routes.rb
          create  config/application.rb
          create  config/environment.rb
          create  config/secrets.yml
          create  config/cable.yml
          create  config/puma.rb
          create  config/spring.rb
          create  config/environments
          create  config/environments/development.rb
          create  config/environments/production.rb
          create  config/environments/test.rb
          create  config/initializers
          create  config/initializers/application_controller_renderer.rb
          create  config/initializers/assets.rb
          create  config/initializers/backtrace_silencers.rb
          create  config/initializers/cookies_serializer.rb
          create  config/initializers/cors.rb
          create  config/initializers/filter_parameter_logging.rb
          create  config/initializers/inflections.rb
          create  config/initializers/mime_types.rb
          create  config/initializers/new_framework_defaults.rb
          create  config/initializers/session_store.rb
          create  config/initializers/wrap_parameters.rb
          create  config/locales
          create  config/locales/en.yml
          create  config/boot.rb
          create  config/database.yml
          create  db
          create  db/seeds.rb
          create  lib
          create  lib/tasks
          create  lib/tasks/.keep
          create  lib/assets
          create  lib/assets/.keep
          create  log
          create  log/.keep
          create  public
          create  public/404.html
          create  public/422.html
          create  public/500.html
          create  public/apple-touch-icon-precomposed.png
          create  public/apple-touch-icon.png
          create  public/favicon.ico
          create  public/robots.txt
          create  tmp
          create  tmp/.keep
          create  tmp/cache
          create  tmp/cache/assets
          create  vendor/assets/javascripts
          create  vendor/assets/javascripts/.keep
          create  vendor/assets/stylesheets
          create  vendor/assets/stylesheets/.keep
          remove  config/initializers/cors.rb
             run  bundle install
    Fetching gem metadata from https://rubygems.org/...........
    Fetching version metadata from https://rubygems.org/...
    Fetching dependency metadata from https://rubygems.org/..
    Resolving dependencies.................................................
    Installing rake 11.3.0
    Using concurrent-ruby 1.0.2
    Using i18n 0.7.0
    Installing minitest 5.9.1
    Using thread_safe 0.3.5
    Using builder 3.2.2
    Using erubis 2.7.0
    Using mini_portile2 2.1.0
    Using rack 2.0.1
    Using nio4r 1.2.1
    Using websocket-extensions 0.1.2
    Using mime-types-data 3.2016.0521
    Using arel 7.1.4
    Using bundler 1.11.2
    Installing byebug 9.0.6 with native extensions
    Installing coffee-script-source 1.10.0
    Installing execjs 2.7.0
    Using method_source 0.8.2
    Using thor 0.19.1
    Installing debug_inspector 0.0.2 with native extensions
    Installing ffi 1.9.14 with native extensions
    Installing multi_json 1.12.1
    Installing rb-fsevent 0.9.8
    Installing puma 3.6.0 with native extensions
    Installing sass 3.4.22
    Installing tilt 2.0.5
    Installing sqlite3 1.3.12 with native extensions
    Installing turbolinks-source 5.0.0
    Using tzinfo 1.2.2
    Using nokogiri 1.6.8.1
    Using rack-test 0.6.3
    Using sprockets 3.7.0
    Using websocket-driver 0.6.4
    Using mime-types 3.1
    Installing coffee-script 2.4.1
    Installing uglifier 3.0.3
    Installing rb-inotify 0.9.7
    Installing turbolinks 5.0.1
    Using activesupport 5.0.0.1
    Using loofah 2.0.3
    Using mail 2.6.4
    Installing listen 3.0.8
    Using rails-dom-testing 2.0.1
    Using globalid 0.3.7
    Using activemodel 5.0.0.1
    Installing jbuilder 2.6.0
    Installing spring 2.0.0
    Using rails-html-sanitizer 1.0.3
    Using activejob 5.0.0.1
    Using activerecord 5.0.0.1
    Installing spring-watcher-listen 2.0.1
    Using actionview 5.0.0.1
    Using actionpack 5.0.0.1
    Using actioncable 5.0.0.1
    Using actionmailer 5.0.0.1
    Using railties 5.0.0.1
    Using sprockets-rails 3.2.0
    Installing coffee-rails 4.2.1
    Installing jquery-rails 4.2.1
    Installing web-console 3.4.0
    Using rails 5.0.0.1
    Installing sass-rails 5.0.6
    Bundle complete! 15 Gemfile dependencies, 62 gems now installed.
    Use \`bundle show [gemname]\` to see where a bundled gem is installed.
    run  bundle exec spring binstub --all
    \* bin/rake: spring inserted
    \* bin/rails: spring inserted
    
    1. 添加测试rspec_rails gem包到Gemfile中的:development和:test group块
    group :development, :test do
         gem 'rspec-rails'
    end
    
    1. 执行bundle install安装
    2. 初始化spec目录
    rails generate rspec:install
    

    可以看到输出:


    添加了.rspec,spec/spec_helper.rb,spec/rails_helper.rb文件

    1. 运行测试
    bundle exec rspec  #测试所有的
    bundle exec rspec spec/models  #测试models
    bundle exec rspec spec/controllers/accounts_controller_spec.rb  #测试AccountsController
    

    结果:


    相关文章

      网友评论

          本文标题:rspec(1) - summary

          本文链接:https://www.haomeiwen.com/subject/ljbyuttx.html