用Python编写单元测试:如何开始? [关闭]

我用Python完成了第一个适当的项目,现在的任务是为它编写测试。

由于这是我第一次做项目,所以这是我第一次为此编写测试。

问题是,我该如何开始? 我完全不知道。 谁能指出我一些可以用来开始编写测试的文档/教程/链接/书(尤其是单元测试)

关于该主题的任何建议都将受到欢迎。


#1楼

在我看来,有三个很棒的python测试框架值得一试。
unittest-所有python发行版的模块都是标准配置
鼻子 -可以运行单元测试,并且样板更少。
pytest-还运行单元测试,样板更少,报告更好,还有很多很棒的额外功能

为了对所有这些进行良好的比较,请阅读http://pythontesting.net/start-here的每个介绍。
也有关于灯具的扩展文章,还有更多。


#2楼

对于文档单元测试将是一个良好的开端。

另外,现在有点晚了,但是将来请考虑在项目本身之前或期间编写单元测试。 这样,您就可以使用它们进行测试,并且(理论上)可以将它们用作回归测试,以验证您的代码更改没有破坏任何现有代码。 这将为您带来编写测试用例的全部好处:)


#3楼

免费的Python书籍Dive Into Python中关于单元测试的 ,您可能会觉得很有用。

如果您遵循现代实践,则可能应该在编写项目时编写测试,而不要等到项目即将完成时再进行测试。

现在有点晚,但是现在您知道下一次了。 :)


#4楼

如果您是首次使用单元测试,那么最简单的学习方法通​​常是最好的。 在此基础上,我建议使用py.test而不是默认的unittest模块

考虑以下两个示例,它们具有相同的作用:

示例1(单元测试):

import unittest

class LearningCase(unittest.TestCase):
    def test_starting_out(self):
        self.assertEqual(1, 1)

def main():
    unittest.main()

if __name__ == "__main__":
    main()

示例2(pytest):

def test_starting_out():
    assert 1 == 1

假设两个文件都命名为test_unittesting.py ,我们如何运行测试?

示例1(单元测试):

cd /path/to/dir/
python test_unittesting.py

示例2(pytest):

cd /path/to/dir/
py.test

#5楼

正如其他人已经回答的那样,编写单元测试已经晚了,但还不算太晚。 问题是您的代码是否可测试 。 确实,要对现有代码进行测试并不容易,甚至有一本关于此的书: 有效地使用遗留代码 (请参见要点前期PDF )。

现在,编写或不编写单元测试就是您的要求。 您只需要意识到这可能是一项繁琐的任务。 您可以解决此问题,以学习单元测试或考虑先编写验收(端对端)测试,然后在更改代码或向项目添加新功能时开始编写单元测试。


#6楼

鼻子测试是在python中进行单元测试的出色解决方案。 它同时支持基于单元测试的测试用例和doctest,并且只需简单的配置文件即可开始使用它。


#7楼

unittest随标准库一起提供,但是我建议您进行鼻子测试

鼻子扩展了单元测试,使测试更加容易。

我也建议你pylint

分析Python源代码以寻找错误和质量低劣的迹象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值