服务:使用django构建:本地库(表单)测试

1 本地库的测试

一个完整的测试过程,应该包括测试方法、测试工具、测试范围、测试种类、测试的软件硬件环境、测试进度、测试人员的分工和职责以及测试流程进行详细的定义和整体的描述。

包括测试资源,工具,环境,风险评估,缺陷跟踪方式的说明。

但是这里只表达自动化测试代码的结构。

我们已经知道了如何运行我们的测试以及我们需要测试什么样的东西,如果不清楚请查看文末的参考链接, 让我们看一些实际的例子。

这应该可以让您了解测试的工作原理,以及您还能做什么。

1.1 模型

如上所述,我们应该测试任何属于我们设计的一部分或由我们编写的代码定义的内容,而不是已经由 Django 或 Python 开发团队测试过的库/代码。

例如,考虑下面的模型。在这里,我们应该测试所有字段的标签,因为即使我们没有明确指定其中的大多数,我们有一个设计来说明这些值应该是什么。

如果我们不测试这些值,那么我们就不知道字段标签是否具有其预期值。 同样,虽然我们相信 Django会创建一个指定长度的字段Author,但值得为此长度指定一个测试以确保它按计划实现。

 class Owner(models.Model):
            first_name = models.CharField(max_length=100)
            last_name = models.CharField(max_length=100)
            date_of_birth = models.DateField(null=True, blank=True)
            date_of_death = models.DateField('Died', null=True, blank=True)

            def get_absolute_url(self):
                return reverse('author-detail', args=[str(self.id)])

            def __str__(self):
                return f'{self.last_name}, {self.first_name}'

打开我们的 /blog/tests/test_models.py,并将任何现有代码替换为模型的以下Owner测试代码。

在这里,您将看到我们首先使用描述性名称从中导入TestCase并派生我们的测试类 (AuthorModel),以便我们可以轻松识别测试输出中的任何失败测试。

然后,我们调用setUpTestData()创建一个作者对象,我们将在任何测试中使用但不会修改该对象。

	from django.test import TestCase

	from blog.models import Author

	class OwnerModelTest(TestCase):
	    @classmethod
	    def setUpTestData(cls):
	        # Set up non-modified objects used by all test methods
	        Author.objects.create(first_name='Big', last_name='Bob')

	    def test_first_name_label(self):
	        author = Owner.objects.get(id=1)
	        field_label = author._meta.get_field('first_name').verbose_name
	        self.assertEqual(field_label, 'first name')

	    def test_date_of_dea
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值