为什么不运行服务器就可以测试django?

问题描述 投票:0回答:1

我想测试演示应用程序主页的可访问性。

所以我这样做:

from django.test import TestCase

class TestHomePageView(TestCase):
    def test_reachable_home(self):
        response = self.client.get('/home/')
        self.assertEqual(response.status_code, 200)

views.py

from django.shortcuts import render

def home_view(request):
    return render(request, 'home.html', {})

home.html是简单的一个:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Home</title>
</head>
<body>
    Hi, circleci and django
</body>
</html>

urls.py

from django.contrib import admin
from django.urls import path

from demo_app.views import home_view

urlpatterns = [
    path('admin/', admin.site.urls),
    path('home/', home_view)
]

这是一个非常简单的演示应用程序。

我很好奇的是,“为什么不运行django服务器就可以测试状态代码?”只是$ python manage.py test而没有$ python manage.py runserver

并获得测试结果:

$ python manage.py test
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
.
----------------------------------------------------------------------
Ran 1 test in 0.011s

OK
Destroying test database for alias 'default'...

欢迎提出任何想法或建议,谢谢。

python django testing
1个回答
0
投票

通过测试,您可以更加放心地修改代码:测试还可以,您可以修改代码,如果测试还可以,那么您就不会破坏任何内容。

因此,您希望能够经常且快速地执行测试,以便可以更轻松,更自信地修改代码。

Framworks和语言提供了更轻松的测试方法,因此测试更加灵活并且运行速度更快。

此外,您还想测试代码,而不是其他人,如果您的测试通过http运行,那么您还将测试http服务器。

此外,HTTP是一种传输协议,我们不需要传输协议来为函数提供参数,以检查其行为是否符合预期。

总而言之,您希望能够经常运行测试,速度越快,您运行测试的能力就越强,再加上,您只想测试您的代码,而不是Web服务器的代码。] >

© www.soinside.com 2019 - 2024. All rights reserved.