Test Runnersο
Most of the code examples shown so far have used the Django TestCase to explain how Model Bakery is used.
However, pytest (with the pytest-django plugin) is often preferred for itβs simplicity and other benefits. See here.
The following examples show Model Bakery usage with different test runners.
Djangoο
# Core Django imports
from django.test import TestCase
# Third-party app imports
from model_bakery import baker
from shop.models import Customer
class CustomerTestModel(TestCase):
"""
Class to test the model Customer
"""
def setUp(self):
"""Set up test class."""
self.customer = baker.make(Customer)
def test_using_customer(self):
"""Test function using baked model."""
self.assertIsInstance(self.customer, Customer)
pytestο
# pytest import
import pytest
# Third-party app imports
from model_bakery import baker
from shop.models import Customer
@pytest.fixture
def customer():
"""Fixture for baked Customer model."""
return baker.make(Customer)
def test_using_customer(customer):
"""Test function using fixture of baked model."""
assert isinstance(customer, Customer)