2014-06-27 19 views
0

我在看這個寶石: https://github.com/stympy/faker爲什麼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.wordBetterFaker.address等?更容易記住:)

+1

你爲什麼不問他們爲什麼這樣寫呢?我不認爲這是正確的地方問這個問題。 –

+0

Faker並不意味着被包含在內,'Faker :: Bitcoin.address'將與工廠的方法'地址'相沖突。 – nicooga

回答

0

我願意冒險的寶石的作者喜歡以邏輯的方式組織他們的文件,並保留不同範圍的方法在不同的地方。

相關問題