【发布时间】:2020-02-14 16:40:12
【问题描述】:
我有一个使用 django-rest 框架和 docker-compose 的宠物项目。一切似乎都运行良好,除了 tests.py.Test runner 只是没有看到它们。 docker-compose 就像我没有一样。这是我的文件:
码头工人撰写:
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
【问题讨论】:
-
这里没有足够的信息来理解你想要做什么,也没有足够的信息来理解问题是什么。
-
你的项目结构是什么样的?
标签: docker django-rest-framework docker-compose django-tests