Я пытаюсь реализовать, должен иметь модульные тесты на направляющие 2.3.5 приложения с помощью mongomapper.
До сих пор я имею:
rake gems:install
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)
Какие-либо идеи, почему это не работает? Я должен попробовать что-то другое от, должен иметь?
Я должен указать, что это - первый раз, когда я пытаюсь использовать, должен иметь, и я довольно плохо знаком с тестированием себя.
После более глубокого изучения shoulda я понял, в чем дело.
Макросы Shoulda (should_belong_to
, should_have_many
, should_validate_presence_of
) доступны только для ActiveRecord - ведь они определены на Shoulda::ActiveRecord::Macros.
Если бы я хотел использовать их, мне пришлось бы реализовать макросы для Shoulda::MongoMapper::Macros. Я не уверен, что оно того стоит.
Надеюсь, это поможет любому, кто найдет этот пост.