Как вы загружаете чертежи машиниста при использовании Spork? - PullRequest
5 голосов
/ 29 января 2011

Как вы загружаете чертежи машиниста при использовании Spork?

Драгоценные камни:

  • монгоид (2.0.0.rc.6)
  • капибара (0,4.1.1)
  • стейк (1.1.0)
  • spork (0.9.0.rc2)
  • rspec (2.4.0)
  • машинист (2.0.0.beta2)

Я получаю эту ошибку в каждом приемочном тесте:

Machinist::NoBlueprintError:
   No master blueprint defined for class School

Все тесты не пройдены, потому что они не находят никаких чертежей.У меня есть некоторые из этих ошибок на V2 (я все еще получаю пару No master blueprint ..), но я получаю еще одну ошибку:

Professor Create a new professor
 Failure/Error: click_link("Profesores")
 RangeError:
   0x000000821461e4 is recycled object

Я получил config.cache_classes = false в тестовой среде для этого.

Обе версии spec_helper:

https://gist.github.com/801814

1 Ответ

4 голосов
/ 22 февраля 2011

Я бился головой о кирпичную стену, пытаясь запустить тесты на окнах со всеми драгоценными камнями, которые вы упомянули. Я написал статью в своем блоге на тот случай, если кому-то интересно, и да, я уже знаю, что Windows - это шары, но я вынужден использовать ее по необходимости:

Настройка быстрой эффективной среды тестирования с использованием Ruby192, Rails 3.0.4, RSpec 2.5.0, Cucumber 0.10.0 и Spork!

В самом блоге не упоминается машинист, но я на самом деле использую этот самоцвет 2.0.0.beta2 с spork для запуска моих тестов на огурец.

Просто чтобы исключить очевидное, вы включили что-то подобное в файл application.rb:

config.generators do |g|
  g.fixture_replacement :machinist      
end

Вы также настроили свои файлы чертежей в:

features/support/blueprints.rb for cucumber   
spec/support/blueprints.rb for rspec

и убедитесь, что вы включили:

require 'machinist/active_record'

в верхней части ваших чертежей.

Также просто на другой ноте, когда вы его запустите. Машинист кэширует множество объектов, чтобы он работал быстрее, но иногда он может сбить вас с толку, когда постоянно пытается очистить базу данных. Если у вас возникнут проблемы, вы можете отключить кэширование машинистов, добавив его в файл config / environment / test.rb:

Machinist.configure do |config|
  config.cache_objects = false
end
...