Mongomapper - модульное тестирование с помощью musta на рельсах 2.3.5 - PullRequest
1 голос
/ 02 июня 2010

Я пытаюсь реализовать модульные тесты musta в приложении rails 2.3.5 с использованием mongomapper.

Пока у меня есть:

  1. Настроено приложение rails, которое использует mongomapper (приложение работает)
  2. Добавил musta в мои драгоценные камни и установил его с rake gems:install
  3. Добавлено config.frameworks -= [ :active_record, :active_resource] к config/environment.rb, поэтому ActiveRecord не используется.

Мои модели выглядят так:

class Account
  include MongoMapper::Document

  key :name, String, :required => true
  key :description, String
  key :company_id, ObjectId
  key :_type, String

  belongs_to :company
  many :operations

end

Вот мой тест для этой модели:

class AccountTest < Test::Unit::TestCase

  should_belong_to :company
  should_have_many :operations

  should_validate_presence_of :name

end

Сбой на первом should_belong_to:

./test/unit/account_test.rb:3: undefined method `should_belong_to' for AccountTest:Class (NoMethodError)

Есть идеи, почему это не работает? Должен ли я попробовать что-то отличное от musta?

Я должен отметить, что я впервые пытаюсь использовать musta, и я довольно новичок в тестировании.

1 Ответ

2 голосов
/ 02 июня 2010

После более глубокого изучения я понял, что случилось.

Макросы musta (should_belong_to, should_have_many, should_validate_presence_of) доступны только для ActiveRecord - после того как они определены в Shoulda :: ActiveRecord :: Macros .

Если бы я использовал их, мне пришлось бы реализовать макросы для Shoulda :: MongoMapper :: Macros. Я не уверен, что оно того стоит.

Надеюсь, это поможет любому найти этот пост.

...