【学习日志】Python Web开发 TDD方法/“不测试常量”

本文探讨了在重构HTML站点过程中遇到的单元测试问题,特别是因细微差异导致测试失败的情况。通过对测试语句中字符串的精确匹配进行分析,强调了在编写测试用例时需要注意的细节,比如字符串的准确性及编辑器特性的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚学完了书的4.3“不测试常量”

在重构html主站时,因为一个疏忽

<title>To-Do lists</title>

与单元测试中的测试语句中的

 self.assertIn(b'<title>To-Do list<title>', response.content)
相差了一个字母‘s’而导致测试无法通过

因为这是一个意外错误,仔细阅读了代码才发现

而书上有举了一个进一步错误的例子

因为有些编辑器会在结尾自动添加‘/n’

同样会导致测试内容与末班内容不一致而使测试失败

而将测试内容改为

 def test_home_page_returns_correct_html(self):
        request = HttpRequest()
        response = home_page(request)
        expected_html = render_to_string('home.html')
        self.assertEqual(response.content.decode(), expected_html)

测试的内容转换成了实现主页的方式,而不是主页常量的内容

所以不会引起相关内容的误报



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值