美文网首页js
Rails新建一个基于mysql和Rspec项目

Rails新建一个基于mysql和Rspec项目

作者: 商鲲 | 来源:发表于2019-10-25 07:53 被阅读0次
    1. 新建一个名为blog项目,设置数据库为mysql,跳过测试
    $ rails new blog -d mysql --skip-test-unit #新建项目
    $ cd blog                                  #到blog项目目录
    $ vi config/database.yml                   #根据mysql实际情况情况修改用户密码信息
    $ rails db:create                          #创建数据库
    $ rails s -b 0.0.0.0 -p 80                 #启动项目,如果一切顺利,此时就 可访问blog应用了
    

    2.引入Rspec,并配置

    1.修改Gemfile,增加rspec-rails依赖,并安装
      group :development, :test do
        gem 'rspec-rails'  #增加rspec-rails依赖
              .
              .
              .
      end
    2.安装rspec
       $ rails generate rspec:install   #安装rspec
    3.修改spec/rails_helper.rb,在文件末尾找到如下片段并增加配置
       RSpec.configure do |config|
              .
              .
              .
          config.include Capybara::DSL  #增加这一行
        end
    

    3.生成一个简单的测试home页面,并执行测试

    $ rails generate controller Home home --no-test-framework #不生成默认测试
    $ rails generate integration_test home #home为自取的名称
    $ bundle exec rspec [spec/requests/home.rb]  #不指定文件执行所有测试,全部执行也可以用个($ rails spec),此时会提示错误
    

    4.生成一个简单的测试home页面,并执行测试

    1.现在有一个新需求>\color{red}{🍒}
     \color{red}{主页内容为:『主页开发中,敬请期待...』}
     打开文件$ vi app/views/home/home.html.erb,将内容修改为:
     <h1>主页开发中,敬请期待...</h1>
    2.修改home页面相应的Rspec测试
     打开文件$ vi spec/request/home_spec.rb,将文件内容替换为:

     require 'rails_helper'
     
     RSpec.describe "主页", :type => :feature do #注意type为feature,也可以把文件从request文件移动到feature目录下,可以缺省type
       describe "主页的第一个测试用例" do
         it "主页必须包含:【开发中,敬请期待】" do
           visit '/home/home'     # 访问home/home页面
           expect(page).to have_content('开发中,敬请期待')  #查看页面是否包含『开发中,敬请期待』字符串
         end
       end
     end
    
    1. 执行测试用例
      $ rails spec #此时会提示执行成功:『1 example, 0 failures』

    相关文章

      网友评论

        本文标题:Rails新建一个基于mysql和Rspec项目

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