你需要安装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
这将会将测试报告发送到指定的收件人邮箱。
- 20
-
CodeDevMaster
Django
Python