你需要安装Django、coverage和pytest等Python库。你可以使用pip来安装它们。例如,使用以下命令安装这些库:

pip install Django coverage pytest pytest-django
  • 编写测试用例
  • 在Django项目的根目录下,创建一个名为tests的目录,并在该目录中创建一个名为test_app.py的文件(假设你的Django应用名为app)。在这个文件中编写你的测试用例。例如:

    from django.test import TestCase
    class AppTestCase(TestCase):
        def test_app(self):
            response = self.client.get('/app/')
            self.assertEqual(response.status_code, 200)
    
  • 运行测试用例并生成覆盖率报告
  • 使用以下命令运行测试用例:

    pytest --cov=app tests/
    

    这会运行tests目录中的所有测试用例,并生成一个名为htmlcov的目录,其中包含覆盖率报告。你可以在浏览器中打开htmlcov/index.html文件,查看生成的报告。

    要将测试报告发送到指定的邮件地址,可以使用Python的smtplib库。以下是一个示例代码:

    import smtplib
    from email.mime.text import MIMEText
    smtp_server = 'smtp.example.com'
    smtp_port = 587
    smtp_user = 'username'
    smtp_password = 'password'
    sender = 'sender@example.com'
    receiver = 'receiver@example.com'
    with open('htmlcov/index.html', 'r') as f:
        content = f.read()
    msg = MIMEText(content, 'html')
    msg['Subject'] = 'Django Test Report'
    msg['From'] = sender
    msg['To'] = receiver
    smtp = smtplib.SMTP(smtp_server, smtp_port)
    smtp.starttls()
    smtp.login(smtp_user, smtp_password)
    smtp.sendmail(sender, [receiver], msg.as_string())
    smtp.quit()
    

    在这个示例中,我们将测试报告内容读取到一个字符串中,并将其作为HTML格式的邮件正文发送给指定的收件人。

    最后,你可以将上述代码保存为send_report.py文件,并在终端中使用以下命令运行:

    python send_report.py
    

    这将会将测试报告发送到指定的收件人邮箱。

  •