У меня есть домашний проект, в котором я использую django -rest Framework и docker -compose. Кажется, все работает нормально, за исключением tests.py.Test, бегун просто не видит их. docker - сочинять поступки, как будто у меня их нет. Вот мои файлы:
docker -составить:
version: '3'
services:
db:
image: postgres
web:
build: .
command: bash -c 'python3 taskmanager/manage.py makemigrations && taskmanager/manage.py migrate && taskmanager/manage.py test && taskmanager/manage.py runserver 0.0.0.0:5000'
volumes:
- .:/code
ports:
- "5000:5000"
depends_on:
- db
tests.py:
from django.urls import reverse
from rest_framework import status
from rest_framework.test import APITestCase
from .models import Task
class TaskTests(APITestCase):
def setUp(self):
Task.objects.create(name='Run marathon', description='Need to run a marathon')
Task.objects.create(name='Lie on the beach', description='Need some more sunlight')
def test_create_task(self):
url = reverse('tasks_list_url')
data = {'name': 'Buy milk', 'description': 'Need some milk'}
response = self.client.post(url, data, format='json')
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
self.assertEqual(Task.objects.get(id=3).name, 'Buy milk')
def test_get_single_task(self):
url = reverse('task_detail_url', args=[2])
response = self.client.get(url, format='json')
self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_get_tasks_list(self):
url = reverse('tasks_list_url')
response = self.client.get(url, format='json')
self.assertEqual(response.status_code, status.HTTP_200_OK)
местоположение tests.py: 1