可以用django自带脚本manage.py驱动执行
例如:venv/bin/python3 manage.py TestService
单元测试源码如下:
from django.core.management.base import BaseCommand
from xxx.services.user.UserService import UserService
from xxx.services.record.RecordService import RecordService
from xxx.models import User
class Command(BaseCommand):
help = '开始测试service'
# 接收参数
def add_arguments(self, parser):
parser.add_argument('one', type=str, help='开始id')
parser.add_argument('two', type=str, help='结束id')
def handle(self, *args, **options):
name = options['one'] # 拿到参数的值
password = options['two'] # 拿到参数的值
self.stdout.write(self.style.SUCCESS('{} Successfully {},{}'.format('接收成功', name, password))) # 可以自定制在控制台输出的内容
# -----------------服务单元测试--------------------
# user_service = UserService()
# user_service.create_user(username=name, password=password)
test_user = User.objects.filter(id=8)
print(test_user)
print(test_user.values())
print(type(test_user.values()))
print(test_user[0].id)
print(type(test_user[0]))
print(test_user.values_list())
print(type(test_user.values_list()))
# for what in test_user.values():
# print(what)
record_service = RecordService()
test_record = record_service.add_record(user=test_user)
print(type(test_record))
print(test_record)
pass