Я пытаюсь настроить тестовую среду « omakase » в Rails, что означает minitest с фикстурами, и мне сложно настроить тестовые фикстуры для ассоциации has_many :through
. rails API сообщает , что «ActiveRecord отражает класс модели прибора и обнаруживает ассоциации has_and_belongs_to_many». , Я ожидал, что мои приборы могут работать так же, как отношения HABTM, например:
class Project < ApplicationRecord
has_many :project_categories
has_many :categories, through: :project_categories
end
class ProjectCategory < ApplicationRecord
belongs_to :category
belongs_to :project
end
class Category < ApplicationRecord
has_many :project_categories
has_many :projects, through: :project_categories
end
test / fixtures:
project_one:
title: Project One
categories: category_a, category_b
category_a:
name: Category A
category_b:
name: Category B
Итак, чтобы написать контроллер или систему тест, который использует приспособления для тестирования создания нового проекта, нужно ли мне также настроить приспособление projects_categories.yml
для таблицы соединений? Или мне нужно указать project_one
в светильниках обеих моих категорий? Или мне нужно указать связь для всех трех - фикстур Project и Categories, а также фикстуры для таблицы соединений?
Я не могу пройти тесты, если буду ссылаться только на категории из в фикстуре проекта.
Что такое «ванильный» способ сделать это с помощью minitest и fixtures?