我想知道是否有人可以在没有任何上述先决条件的情况下使用FactoryGirl。
在为移动和Web甚至API进行UI自动化测试时,我想用它来生成即时测试数据。
我知道我可以创建一些自定义的帮助程序类/方法,并使用getter和setter等,但是我认为最好使用这个很棒的小gem。
我进行了广泛的搜索,并尝试建立一个基本的RSpec项目(我也尝试了Cucumber),但无济于事。似乎仍然需要使用相关的登录实例化类才能使用它。
FactoryGirl.define do
factory :user do
firstname { Faker::Name.first_name }
lastname { Faker::Name.last_name }
age { 1 + rand(100) }
end
end
然后,如果我尝试在RSpec文件中调用它...
describe...
it...
user = build_stubbed(:user)
end
end
我也阅读了文档并尝试了所有其他变体,但是我一直在获取...
Failure/Error: user = build_stubbed(:user)
NameError:
uninitialized constant User
这表明我需要一个具有所有逻辑的名为User的类。
您的猜测是正确的-您仍然必须自己编写User
课程。factory_girl可与非ActiveRecord类一起正常工作,但不会为您编写它们。
默认情况下,factory_girl通过new
不带任何参数的调用来构造实例,因此您的类应该不应该def initialize
或initialize
必须不带参数,就像ActiveRecord模型一样。因此,最简单的方法是User
像这样编写:
class User
attr_accessor :firstname, :lastname, :age
end
如果您决定需要一个initialize
需要参数的参数,则可以使用factory_girlinitialize_with
告诉它如何实例化您的类。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句