2012-10-31 2 views
5

У нас есть изолированная команда по автоматизации тестирования, отвечающая за автоматизацию только тестовых случаев с контролем watir + cucumber. Их база кода не привязана к приложению rails, над которым работают другие разработчики, но сохраняются отдельно. До сих пор мы автоматизировали несколько тестовых примеров, и теперь, какая у нас проблема, некоторые тестовые примеры (watir/oucumber specs) требуют, чтобы некоторые данные были предрексистами в db, поэтому он (testcase) должен фокусироваться только на проблеме stmt, а не создавая любые данные, требующие самого себя.фабрика данных для огурца, watir

Пример, скажем, если он должен проверить, работает ли рейтинг для сообщения, для него требуется, чтобы пост-объект должен существовать заранее, и он просто проверяет рейтинг. И не создавая 1-й пост-объект, а затем проверяя его рейтинг.

Каковы наилучшие подходы здесь? Как у нас есть светильники и заводская девушка для тестирования модульных рельсов, что там для спецификаций огурцов? Или использовать функции только здесь? Эти тестеры могут не иметь представления обо всех моделях, которые существуют, знают ли они о них, поэтому используют светильники, вызывая интерфейс Rails-Model.

Моя идея была, когда мы пишем файл функции, он не должен указывать или говорить о какой-либо Модели, которая выглядит мета-материал. Тесты Watir/specs должны знать только о «веб-приложении»/браузере только в качестве интерфейса для разговора/работы с приложением. Они не должны знать какой-либо другой интерфейс (fixture/Models). Следовательно, они должны сами создавать свои собственные данные, используя один интерфейс, который им известен.

Опять же, что я хочу знать, есть ли какой-либо ruby ​​lib/code, заданные имена таблиц, имена столбцов и значения (все наиболее похожее на fixtures yml), а также параметры db. Он просто вставляет их в db без контекста среды рельсов. И поэтому тестеры, у которых есть среда, изолированная от веб-разработчиков, могут работать самостоятельно. Редкие светильники или фабричные девочки, похоже, хорошо связаны с рельсами. Или я ошибаюсь?

+0

Но кто говорит, что Factory Girl только для rspec? Он также работает с cucs. http://collectiveidea.com/blog/archives/2010/09/09/practical-cucumber-factory-girl-steps/ – Chirantan

ответ

1

Как и Чирантан, вы можете использовать Фабричную девушку с огурцом. Как и ваши фабрики в тестовом модуле или RSpec, вы можете сделать то же самое в файле env.rb огурца или в любом настраиваемом файле конфигурации.

http://robots.thoughtbot.com/post/284805810/gimme-three-steps

http://www.claytonlz.com/2010/03/zero-to-tested-with-cucumber-and-factory-girl/

http://www.andhapp.com/blog/2009/11/07/using-factory_girl-with-cucumber/

+0

если я могу использовать Factory girl, то почему бы не светильники? правильно? –

+1

Да, вы также можете использовать светильники. – hindenbug

-1

При использовании огурца, Данный оператор устанавливает тестовую ситуацию до:

Given I have a basic user with a password 

и Когда оператор запускает тест:

When the user logs in 

и Тогда заявление проверяет результаты теста

Then they see the basic menu 

данные получает загружены в данном заявлении.

+0

Подготавливает среду для того, что до начала теста. Учитывая, что я ростом 7 футов, когда я иду через дверной проем, я должен ударить головой. Это дает мне 7 футов в высоту до начала испытания. Когда идет через дверной проем. Затем я уверен, что я ударился головой. Я не мог пройти тест, если бы не был ростом 7 футов.В идеале это будет вызов базы данных, чтобы пользователь существовал и ростом 7 футов. Часто настройка называется тестовым условием. С rspec это обычно раньше: каждый или все: все. В тесте: unit, это setup(). –

Смежные вопросы