123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- from django.db import models
- # Create your models here.
- from apps.plan.models import TestPlan
- from apps.software.models import Software
- from apps.user.models import User
- class TestTask(models.Model):
- id = models.CharField(max_length=128, unique=True, primary_key=True, verbose_name='测试任务编号',
- default='TestLaboratory_V1_Task_1')
- title = models.CharField(max_length=50, verbose_name='测试任务标题')
- executor = models.ForeignKey(User, null=True, on_delete=models.CASCADE, verbose_name='测试任务执行者')
- # 0: 发布,release;(此阶段可以上传未执行的测试用例)1:执行测试用例,execute(此阶段需上传包含测试结果的测试用例);2:执行完成
- state = models.IntegerField(verbose_name='测试任务状态')
- description = models.TextField(verbose_name='测试任务描述')
- plan = models.ForeignKey(TestPlan, on_delete=models.CASCADE, verbose_name='测试任务所属计划')
- statement_file = models.TextField(verbose_name='说明文档id文件')
- case_file = models.TextField(null=True, verbose_name='测试用例文档')
- case_all = models.IntegerField(null=True, verbose_name='全部测试用例数量')
- case_not_execute = models.IntegerField(null=True, verbose_name='未执行测试用例数量')
- case_success = models.IntegerField(null=True, verbose_name='成功测试用例数量')
- case_fail = models.IntegerField(null=True, verbose_name='失败测试用例数量')
- create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
- update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间')
- delete = models.BooleanField(default=False)
- def __str__(self):
- return self.title
- class Meta:
- verbose_name = '测试任务'
- verbose_name_plural = verbose_name
- db_table = 'task'
- class TestCase(models.Model):
- id = models.CharField(max_length=30, unique=True, primary_key=True, verbose_name='测试用例编号',
- default='TestLaboratory_V1_Case_1')
- task = models.ForeignKey(TestTask, on_delete=models.CASCADE, verbose_name='测试用例所在测试任务',
- default='TestLaboratory_V1_Task_1')
- id_in_task = models.CharField(max_length=30, verbose_name='在测试任务中编号', default='1')
- software = models.ForeignKey(Software, null=True, on_delete=models.CASCADE, verbose_name='测试软件')
- executor_id = models.ForeignKey(User, null=True, on_delete=models.CASCADE, verbose_name='执行者id')
- version = models.CharField(max_length=30, null=True, verbose_name='软件版本')
- name = models.CharField(max_length=50, verbose_name='名称')
- state = models.IntegerField(verbose_name='状态')
- writer = models.CharField(max_length=30, verbose_name='测试用例编写人', null=True)
- executor = models.CharField(max_length=30, verbose_name='测试用例执行人', null=True)
- assessor = models.CharField(max_length=30, verbose_name='测试用例评审员', null=True)
- requisite = models.TextField(null=True, verbose_name='前置条件')
- priority = models.CharField(max_length=10, null=True, verbose_name='优先级')
- environment = models.TextField(null=True, verbose_name='测试环境')
- type = models.CharField(max_length=30, null=True, verbose_name='测试类型')
- process = models.TextField(verbose_name='测试步骤')
- expected_result = models.TextField(verbose_name='预期结果')
- actual_result = models.TextField(verbose_name='实际结果', null=True)
- create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
- update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间')
- delete = models.BooleanField(default=False)
- remark = models.TextField(null=True, verbose_name='备注')
- def __str__(self):
- return self.name
- class Meta:
- verbose_name = '测试用例'
- verbose_name_plural = verbose_name
- db_table = 'test_case'
|