我想测试演示应用程序主页的可访问性。
所以我这样做:
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'...
欢迎提出任何想法或建议,谢谢。
通过测试,您可以更加放心地修改代码:测试还可以,您可以修改代码,如果测试还可以,那么您就不会破坏任何内容。
因此,您希望能够经常且快速地执行测试,以便可以更轻松,更自信地修改代码。
Framworks和语言提供了更轻松的测试方法,因此测试更加灵活并且运行速度更快。
此外,您还想测试代码,而不是其他人,如果您的测试通过http运行,那么您还将测试http服务器。
此外,HTTP是一种传输协议,我们不需要传输协议来为函数提供参数,以检查其行为是否符合预期。
总而言之,您希望能够经常运行测试,速度越快,您运行测试的能力就越强,再加上,您只想测试您的代码,而不是Web服务器的代码。] >