gpt4 book ai didi

python - 我必须将 test_*.py 文件放在 Django 中的哪里?

转载 作者:行者123 更新时间:2023-12-01 01:03:09 25 4
gpt4 key购买 nike

我刚刚将 tests.py 文件移动到一个名为tests的新目录,然后我在其中添加了__init__.py文件,但是当我运行测试时python manage.py test 它说在 0.000 秒内运行了 0 次测试。怎么解决呢?我不知道如何像大多数人一样显示我的文件,但这里有一张图片!

enter image description here

这个应用程序也被添加到settings.py中谢谢

编辑:这是 test_models.py 的示例

from django.test import TestCase

# Create your tests here.
from django.test import TestCase
from django.urls import reverse
from board.models import Board
from board.views import board_topics


class HomeTest(TestCase):
def home_test_case(self):
url = reverse('home')
response = self.client.get(url)
self.assertEqual(response.status_code, 200)


class BoardTest(TestCase):
def setup(self):
Board.objects.create(title='Hello world',
description='My first Django app!')

def board_topics_status_code(self):
url = reverse('board_topics', kwargs={id: 1})
response = self.client.get(url)
return self.assertEqual(response.status_code, 200)

def board_topics_status_code_not_found(self):
url = reverse('board_topics', kwargs={id: 123})
response = self.client.get(url)
return assertEqual(response.status_code, 200)

def resolve_url_to_specific_fun(self):
url = resolve('board/1/')
return assertEqual(view.func, board_topics)


def HomeTests(TestCase):
def setUp(self):
self.board = Board.objects.create(
title='Django', description='Django Desc')
url = reverse('home')
self.response = self.client.get(url)

def home_test_view_status_code(self):
self.assertEqual(self.response.status_code, 200)

def home_test_func(self):
view = resolve('/')
self.assertEqual(view.func, home)

def test_home_contains_link_to_topics_page(self):
board_topics_url = reverse(
'board_topics', kwargs={'id': self.board.pk})
self.assertContains(self.response, 'href={0}'.format(board_topics_url))

最佳答案

您的所有测试都必须附加 test_ 前缀。重命名所有测试,并将其添加到名称中。

例如:

def test_board_topics_status_code(self):
url = reverse('board_topics', kwargs={id: 1})
response = self.client.get(url)
return self.assertEqual(response.status_code, 200)

此外,您需要将 def HomeTests(TestCase): 更改为 class HomeTests(TestCase):,这就是为什么您的最后一个测试命名正确但仍然不正确的原因被发现。

关于python - 我必须将 test_*.py 文件放在 Django 中的哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55617875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com