pip install pytest factory_boy
python
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
publishing_year = models.PositiveIntegerField()
python
import factory
from .book import Book
class BookFactory(factory.Factory):
class Meta:
model = Book
title = factory.Faker('sentence')
author = factory.Faker('name')
publishing_year = factory.Faker('year')
python
import pytest
from .book import Book
from .factories import BookFactory
@pytest.mark.django_db
def test_book_creation():
book = BookFactory.create()
assert isinstance(book, Book)
assert isinstance(book.title, str)
assert isinstance(book.author, str)
assert isinstance(book.publishing_year, int)
pytest