Django (10) - combate del proyecto - prueba el sistema de gestión de lanzamientos y obtiene cobertura de prueba

En el sistema de inicio de sesión de la conferencia de prensa, se utiliza django para desarrollar el sistema de inicio de sesión de la conferencia de prensa, y
este documento prueba el sistema.

django.prueba

django.testes un módulo en el marco de Django que proporciona herramientas y clases para escribir y ejecutar pruebas.

django.testEl módulo contiene algunas clases y funciones para realizar pruebas, como por ejemplo:

  • TestCase: Esta es una clase base para escribir casos de prueba de Django. Heredado de unittest.TestCase, proporciona algunas funciones y métodos adicionales para lidiar con el entorno de prueba de una aplicación Django.

  • SimpleTestCase: Esta es una clase base de prueba más liviana, adecuada para escenarios de prueba simples sin acceso a bases de datos o redes.

  • Client: Esta es una clase de cliente que simula solicitudes HTTP, utilizada para simular solicitudes de usuarios y verificar los resultados de las respuestas en las pruebas.

  • RequestFactory: Esta es una clase de fábrica para crear objetos de solicitud HTTP, que se utiliza para generar instancias de solicitud HTTP en las pruebas.

  • Otras funciones auxiliares y decoradores, como override_settingsanular temporalmente la configuración de Django durante las pruebas, tagagregar etiquetas a los casos de prueba, etc.

Al utilizar django.testmódulos, puede escribir pruebas unitarias, pruebas de integración y pruebas funcionales para verificar y garantizar la corrección y estabilidad de las aplicaciones Django.

Aquí hay un código de muestra simple que demuestra cómo django.testescribir una clase de caso de prueba usando módulos:

from django.test import TestCase

class MyTestCase(TestCase):
    def test_my_function(self):
        # 编写测试逻辑
        result = my_function()
        self.assertEqual(result, expected_result)

En resumen, django.testel módulo proporciona un conjunto de herramientas y clases para escribir y ejecutar pruebas de aplicaciones Django, que pueden ayudar a los desarrolladores a verificar y garantizar la corrección y estabilidad de las aplicaciones.

Probar la vista de índice

inserte la descripción de la imagen aquí

import os,django
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "guest.settings")
import django
django.setup()
from django.test import TestCase
class IndexPageTest(TestCase):
    def test_index_page_renders_index_template(self):
        response = self.client.get("/index/")
        self.assertEqual(response.status_code,200)
        self.assertTemplateUsed(response,'index.html')

La clase de prueba Xu Ya integra TestCase, utiliza la instancia del cliente para solicitar obtener y publicar solicitudes HTTP,
afirmar el código de estado después de obtener la respuesta
y utilizar el método afirmarTemplateUsed para afirmar si la solicitud utiliza la plantilla index.html

Pruebe la vista de inicio de sesión

import os

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "guest.settings")


from django.contrib.auth.models import User
from django.test import TestCase
class LoginActionTest(TestCase):

    def setUp(self) -> None:
        User.objects.create_user("admin1","[email protected]","admin123456") #创建用户
    def test_add_admin(self):
        user=User.objects.get(username="admin1")#查询
        self.assertEqual(user.username,"admin1")
        self.assertEqual(user.email, "[email protected]")
    def test_login_action_username_password_null(self):
        """测试密码为空"""
        test_data={
   
    
    'username':'','password':''}
        response=self.client.post('/login/',data=test_data) #使用self的client可以对urls进行测试
        self.assertEqual(response.status_code,200)
        self.assertIn(b"username or password error",response.content)
    def test_error_password(self):

Supongo que te gusta

Origin blog.csdn.net/seanyang_/article/details/132635656
Recomendado
Clasificación