python测试,调试和版本控制(Testing, Debugging, and Version Control)

  其实在编程的过程中并不是只有写代码这一项工作,还有其它可能被忽略但是起到重要作用的工作,接下来就让我们一起来看看python中的测试,调试和版本控制

1.Testing

        为了确保一个软件能够按照我们设想的那样去运行并且产生正确的结果,对它进行专门的测试是必要的。在软件逐渐被开发的过程中有许多我们能应用在程序中的测试,比如:集成测试,回归测试,系统测试等等。最常见的测试之一是单元测试,也是我们主要要说的。

        单元测试只关注软件很小的一部分,而不是整个程序,因此单元测试通常是我们测试流程的第一步。一旦我们确定这些部件能正常工作之后,我们就能去测试它们一起工作能否达到我们的要求。在python中用unittest模块可以很轻易地进行单元测试,它使我们能够使用类来测试一段程序,我们需要定义一个测试类,这样的类需要继承unittest中的TestCase,然后在这个类里面定义测试用例方法,并且不同的测试需要在不同的函数中进行,就像下面这样:

import unittest
class SampleTest(unittest.TestCase):
  def test_equal(self):           #以test开头
    self.assertEqual(2 ** 3 - 1, 7)
    self.assertEqual('Hello, world!', 'Hello, ' + 'world!')
  def test_true(self):
    self.assertTrue(2 ** 3 < 3 ** 2)
    for x in range(10):
      self.assertTrue(- x ** 2 <= 0)

如果我们想要运行这个测试,需要输入unittest.main(),结果如下:

>>> unittest.main()
test_equal (__main__.SampleTest) ... ok
test_true (__main__.SampleTest) ... ok
----------------------------------------------------------------------
Ran 2 tests in 0.001s
OK

如果是在jupyter notebook上面测试的话需要注意:

unittest.main(argv=[''], verbosity=2, exit=False)

unittest模块有两个用例前后置方法setUp()和tearDown(),在每一个用例开始和结束时都会运行它,在下面的练习中我们会用到。除此之外,还有测试类级别的前后置方法,是所有测试用例全部执行之前或之后只会执行一次的,分别是setUpClass和tearDownClass。在python中定义类方法要在前面写上@classmethod来声明一下。

2.Debugging

未完待续……

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Liam_xin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值