Bas*_*nda 1 python testing django
我写了一个如下的测试代码,其中有一些错误,我无法检测到,但是老师说你错过self了代码中的某个地方。那就像是我找不到那个提示。这是我的代码:
def HomeTests(TestCase):
def setUp(self):
board = Board.objects.create(
title='Django', description='Django Desc')
url = reverse('home')
response = self.client.get(url)
def home_test_view_status_code(self):
self.assertEqual(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': board.pk})
self.assertContains(response, 'href={0}'.format(board_topics_url))
Run Code Online (Sandbox Code Playgroud)
即使我运行python manage.py test此代码也不会引发任何错误:
System check identified no issues (0 silenced).
----------------------------------------------------------------------
Ran 0 tests in 0.000s
Run Code Online (Sandbox Code Playgroud)
请帮助我,我在这里做错了。self关键字应该在哪里?为什么?
然后,我去图书馆检查并发现了错误,然后错误地在其中添加了“ p” view = resolvep('/'),却不知道自己在运行python manage.py test它,结果如下:
C:\Users\Administrator\Desktop\Practice\board\src>python manage.py test
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
Destroying test database for alias 'default'...
Run Code Online (Sandbox Code Playgroud)
在检查我的代码时,我发现我拼写错误resolve,在这里我遇到了一个问题,为什么它在测试后没有抛出语法错误,因为resolve()是拼写错误?然后,我故意在其中添加了一个额外的“ e” self.clieent.get(url),再次没有错误?请帮助我理解这一点非常感谢
编辑:我的测试文件名为tests.py,它在开发板目录应用中!还有init .py文件。

然后,我将其重命名为test_board.py并运行测试。它说ran 0 tests?怎么了?
您没有错误,因为您没有进行任何测试。测试文件名必须以testlike 开头,test_something.py并且该文件夹需要有一个__init__.py文件。
有关django如何发现要在此处运行的测试的更多信息:https : //docs.djangoproject.com/en/2.2/topics/testing/overview/#running-tests
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |