Rspec生成器创建一个* _spec.rb文件来测试PORO

时间:2015-09-04 18:03:25

标签: ruby-on-rails ruby rspec

This website列出了可用于为特定rails文件创建规范文件的各种generators

我知道如何为模型生成spec文件。

Ex:rails generate rspec:model Customer创建此文件:

#spec/models/customer_spec.rb
require 'rails_helper'

RSpec.describe Customer, type: :model do
  pending "add some examples to (or delete) #{__FILE__}"
end

我创建了一项服务:MYPORO。它是一个PORO(普通旧红宝石对象),位于app/services/my_poro.rb

如何生成spec文件以便为MyPoro类及其实例创建测试?我遇到的最大问题是我不知道要提供什么type,因为它不是:model。我只是手动创建文件,但是又一次:我不知道在文件中提供什么:type

2 个答案:

答案 0 :(得分:2)

否"类型" PORO需要

  

我遇到的最大问题是我不知道要提供什么类型,因为它不是:模型。我只是手动创建文件,但是又一次:我不知道:在文件中提供什么类型。

您不需要为纯Ruby对象指定类型。 :type告诉由 rails_helper 模块加载的RSpec Rails扩展(由rspec-rails安装)如何为模型,路由等运行某些类型的测试。

对于这些类型的规范,我通常仍然会加载 rails_helper 而不是 spec_helper ,但在大多数情况下,您应该能够简化为:

require 'spec_helper'

describe Customer do
  pending "insert tests on your non-Rails Customer class"
end

答案 1 :(得分:1)

touch spec/services/my_poro_spec.rb

你不需要发电机。 ;)