>测试驱动的开发(TDD):实用指南
> 近年来,测试驱动的开发(TDD)已获得了大量的吸引力。 TDD没有将测试视为事后的想法,而是将测试直接集成到日常编码过程中。这种方法可以大大改善代码质量,清晰度和关注点。 本教程使用Python和单元测试框架探索了TDD的核心概念,还突出显示了替代的Python软件包。
nosetests
理解测试驱动的开发
在其核心上,TDD涉及编写测试
编写代码。 您首先创建失败测试,然后编写代码以进行测试。 这种迭代的测试,代码和精炼循环一直持续到功能完成为止。 这种“测试优先”方法鼓励仔细考虑问题的设计和潜在的边缘案例。 创建测试的行为迫使您仔细考虑法规的逻辑,返回值和潜在的例外。
TDD过程可以总结为:
编写失败的单元测试。
重构。
Python单元测试语法
> Python单元测试中使用的关键方法包括:和
在继续前进之前,安装
使用PIP:
>建议使用虚拟环境(例如assertEqual
)来管理项目依赖性。 使用:assertRaises
执行测试
pip install nose
>测试应命名为test_
>。 -s
或--nologcapture
标志允许记录输出。 --tags
选项启用了选择性执行的测试标签。
>示例:测试一个简单的计算器
>让我们使用add
方法创建一个简单的计算器,然后使用unittest
编写测试。 最初,由于未实现add
>方法,测试将失败。 实现该方法后,添加了其他测试以处理非数字输入,使用assertRaises
检查ValueError
>异常。 添加了进一步的测试,以确保两个输入均已验证。
nosetests example_unit_test.py # Single test file nosetests /path/to/tests # Suite of tests in a folder
>替代单元测试软件包
> nosetests
,其他流行的Python测试框架还包括pytest
和内置的unittest
。 pytest
>提供简洁的语法和广泛的功能。 unittest
为基本测试需求提供了坚实的基础。
pdb
调试
Python Debugger(
(NEXT),pdb
(步骤),import pdb; pdb.set_trace()
(继续),n
>(list),s
(print)和c
(退出)等命令,以导航和检查代码的执行。
l
结论p
TDD是一种有价值的方法,可提高代码质量和开发人员的生产率。 它的适应性使其适合各种规模和团队结构的项目。 通过将TDD集成到您的工作流程中,您将构建更健壮,可靠和可维护的软件。
以上是如何从Python的测试驱动开发开始的详细内容。更多信息请关注PHP中文网其他相关文章!