2018-09-17 CS61A text1.5 doctest

textbook 1.5

  • def
  • while循环
  • if elif else
  • 自己写程序时候多测试,以后要多多的及时测试自己的代码:
    • 断言,语句判断为false时候,提示error,警示后面那句话
      assert fib(8) == 13, ‘The 8th Fibonacci number should be 13’
    • doctest 提到了一个可以import的测试方法,在函数注释里写上例子 【以下代码都是1.5Control里的例子:】
>>> def sum_naturals(n):
        """Return the sum of the first n natural numbers.#第一行docstring
                                                                                    #空一行
        >>> sum_naturals(10)
        55
        >>> sum_naturals(100)
        5050
        """
        total, k = 0, 1
        while k <= n:
            total, k = total + k, k + 1
        return total

调用测试模块进行测试

>>> from doctest import testmod
>>> testmod()
TestResults(failed=0, attempted=2)
>>>doctest.testmod(verbose=True) #会显示更详细的信息,verbose默认是False

可以看到更详尽的测试信息,如下:

>>> from doctest import run_docstring_examples
>>> run_docstring_examples(sum_naturals, globals(), True)
Finding tests in NoName
Trying:
    sum_naturals(10)
Expecting:
    55
ok
Trying:
    sum_naturals(100)
Expecting:
    5050
ok

非交互式命令行,写在文件里的时候:

python3 -m doctest -v <python_source_file>

查看单个函数tests

>>> from doctest import run_docstring_examples
>>> run_docstring_examples(sum_naturals, globals(), True)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值