Ruby on rails 运行rspec for rails需要哪些先决条件?

Ruby on rails 运行rspec for rails需要哪些先决条件?,ruby-on-rails,ruby,unit-testing,rspec,rspec-rails,Ruby On Rails,Ruby,Unit Testing,Rspec,Rspec Rails,我有我团队的RubyonRails代码,现在我需要使用rspec对规范进行单元测试。我已经浏览了好几个网站,但并没有完全掌握如何使用它。任何人都可以帮助我使用rspec的步骤。以及如何在测试数据库中创建用户。请指导我,我是rspec的新手。关于设置rspec的好指南可以从上的自述文件中获得 然而。。。就我个人而言,以下是我最常用的组合: :用于清洁db,顾名思义。Avdi提供了一个很好的设置指南 注意:本博客建议将数据库清理器的配置放在support目录中的单独文件中。如果这样做了,记得取消注释

我有我团队的RubyonRails代码,现在我需要使用rspec对规范进行单元测试。我已经浏览了好几个网站,但并没有完全掌握如何使用它。任何人都可以帮助我使用rspec的步骤。以及如何在测试数据库中创建用户。请指导我,我是rspec的新手。

关于设置rspec的好指南可以从上的自述文件中获得

然而。。。就我个人而言,以下是我最常用的组合:

  • :用于清洁db,顾名思义。Avdi提供了一个很好的设置指南
  • 注意:本博客建议将数据库清理器的配置放在support目录中的单独文件中。如果这样做了,记得取消注释
    rails\u helper.rb
    文件中的以下行

    # Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
    
    这将确保测试套件中需要support目录下的所有文件

  • :这用于生成测试记录(用户等),就像您在问题中所问的那样。一个足够好的指南如图所示
  • :我使用它在构建记录时生成
    false
    随机值。例如:测试用户的名字、姓氏、电子邮件、密码等,而不是硬编码这些值。按照回购协议自述文件中的说明,直接使用该文件
  • 根据上述内容,准备编写第一份Rspec规范

    规范基本上可分为两个步骤:

    • 描述
    • 期望值
    描述是对西装测试目的的总结,而预期是正常的预期结果

    描述也可以嵌套在其他描述中

    Rspec测试的一个例子是:

    require 'rails_helper'
    
    describe TextMessage do
      describe "#failed?" do
        it "returns true" do
          text = FactoryGirl.create(:text_message, :not_delivered)
          expect(text.send(:failed?)).to be_truthy
        end
      end
    end
    
    首先,需要
    rails\u helper
    文件。这是所有测试配置的位置。当在repo上从rspec安装指南运行
    rails generate rspec:install
    命令时,会自动生成此文件

    接下来,我有一个描述块
    descripe TextMessage do;结束
    这是描述我的模型,在本例中是
    TextMessage

    接下来,我在第一个描述块中嵌套了另一个描述块,用于描述TextMessage模型中的方法(失败?):
    descripe“#failed?”do;结束

    然后我有一个期望块,它是我的主要测试:

    it "returns true" do
      text = FactoryGirl.create(:text_message, :not_delivered)
      expect(text.send(:failed?)).to be_truthy
    end
    
    失败?
    方法的所有其他测试都将在此项下进行,其各自的块。。。而模型中其他方法的其他测试将相应地置于第一个测试之下


    希望我能在这里为您解释一下这个问题。

    有一些关于如何使用rspec的书籍。这个问题对这个网站来说太宽泛了。另一点-您应该首先编写测试,然后编写代码来满足它们。