Factory Girl - удобный каркас в рельсах для легкого создания экземпляров моделей для тестирования.Существует ли такая инфраструктура, как Factory Girl для Java?
factory_girl позволяет быстро определить прототипы для каждого из ваших моделей и попросить случаи со свойствами, которые имеют важное значение для испытания на руке.
Пример (также с домашней страницы):
Factory.sequence :email do |n|
"somebody#{n}@example.com"
end
# Let's define a factory for the User model. The class name is guessed from the
# factory name.
Factory.define :user do |f|
# These properties are set statically, and are evaluated when the factory is
# defined.
f.first_name 'John'
f.last_name 'Doe'
f.admin false
# This property is set "lazily." The block will be called whenever an
# instance is generated, and the return value of the block is used as the
# value for the attribute.
f.email { Factory.next(:email) }
end
, если мне нужна пользователю может просто позвонить
test_user = Factory(:user, :admin => true)
, который даст пользователю со всеми свойствами, указанными в фабричный прототип, за исключением для свойства admin, которое я указал явно. Также обратите внимание, что метод электронной почты по электронной почте будет давать разные электронные письма каждый раз, когда он вызывается.
Я думаю, что должно быть довольно легко реализовать что-то подобное для Java, но я не хочу изобретать велосипед.
P.S: Я знаю обо всех JMock и EasyMoc, однако я не говорю о насмешливой структуре здесь.
Можете ли вы привести нам пример FactoryGirl, без необходимости идти и читать об этом в другом месте? – skaffman
Был один для Python до тех пор, пока профсоюзы прав, основанные на каркасе, не заработали на пути! –
Beanmother https://github.com/keepcosmos/beanmother - это то, что вы хотите. –