我正在看这个宝石: https://github.com/stympy/faker
我使用它非常多,而且非常好,但我不明白为什么它的所有方法都被组织成模块:
Faker::Code.isbn #=> "759021701-8"
Faker::Address.longitude #=> "-156.65548382095133"
Faker::Bitcoin.address #=> "1HUoGjmgChmnxxYhz87YytV4gVjfPaExmh"
我必须在我的工厂里这样做:
factory :person, class: Person do
name { Faker::Lorem.word }
account { Faker::Bitcoin.address }
address { Faker::Address.longitude }
favourite_book { Faker::Code.isbn }
end
我可以将所有模块都包含在我的测试套件中,所以我只需要这样做:
factory :person, class: Person do
name { word }
account { address }
address { longitude }
favourite_book { isbn }
end
我正在使用rspec:
RSpec.configure do |config|
config.include FactoryGirl::Syntax::Methods
# doesn't work: config.include Faker
end
为什么他们不愿意将他们的方法分成不同的方法?为了加快速度?除非你有一个非常复杂的项目,否则这个数字可以忽略不计?不是更好的宝石会让你做BetterFaker.word
,BetterFaker.address
等吗?更容易记住:)
答案 0 :(得分:0)
我愿意冒险,宝石的作者喜欢以逻辑方式组织他们的文件,并保持在不同位置具有不同范围的方法。