ManyToMany 関係のモデル単体テストを作成しようとしています。目的は、表 Ingredient に保存されている適切なカテゴリがあるかどうかを確認することです。
class IngredientModelTest(TestCase):
def test_db_saves_ingredient_with_category(self):
category_one = IngredientsCategory.objects.create(name='Food')
first_Ingredient = Ingredient.objects.create(name='Apple')
first_Ingredient.categories.add(category_one)
category_two = IngredientsCategory.objects.create(name='Medicine')
second_Ingredient = Ingredient.objects.create(name='Antibiotics')
second_Ingredient.categories.add(category_two)
first_ = Ingredient.objects.first()
self.assertEqual('Apple', first_.name)
self.assertEqual(first_.categories.all(), [category_one])
self.assertEqual(first_, first_Ingredient)
最後から 2 番目の行でself.asserEqual(first_.categories.all(), [category_one])
は、次の奇妙なアサートが表示されます。
AssertionError: [<IngredientsCategory: Food>] != [<IngredientsCategory: Food>]
私は他の多くの異なる方法を試しましたが、どれもうまくいきませんでした。first_.categories.all()
それを他のものと比較するための情報をどのように取得できるかを考えている人はいますか?