Образец models.py
models.py
class Food(models.Model):
name = models.CharField(max_length=50, verbose_name='Food')
def __str__(self):
return self.name
Предположим, , что я написал модульный тест/ s:
from django.test import TestCase
from myapp.models import Food
class TestWhateverFunctions(TestCase):
"""
This class contains tests for whatever functions.
"""
def setUp(self):
"""
This method runs before the execution of each test case.
"""
Food.objects.create(name='Pizza') # Will the created object have id of 1?
Food.objects.create(name='Pasta') # Will the created object have id of 2?
def test_if_food_is_pizza(self):
"""
Test if the given food is pizza.
"""
food = Food.objects.get(id=1)
self.assertEqual(food.name, 'Pizza')
def test_if_food_is_pasta(self):
"""
Test if the given food is pasta.
"""
food = Food.objects.get(id=2)
self.assertEqual(food.name, 'Pasta')
Интересно, можно ли предположить, что идентификаторы созданных объектов в методе setUp () всегда будут начинаться с id 1
и т. д. и т. д. вперед? Если нет, есть ли конкретная причина, по которой, если база данных тестов всегда уничтожается после выполнения всех тестов?