一、测试的常用规则 一个测试单元必须关注一个很小的功能函数,证明它是正确的; 编写执行快速的测试代码。在某些情况下,测试需要加载复杂的数据结构,而且每次执行的时候都要重新加载,这个时候测试执行会很慢。因此,在这种情况下,可以将这种测试放置一个后台的任务中。 采用测试工具并且学着怎么使用它。 在编写代码前执行完整的测试,而且在编写代码后再重新执行一次。这样能保证你后来编写的代码不会破坏任何事情; 在提交代码前执行完整的测试; 如果在开发期间被打断了工作,写一个打断的单元测试,关于你下一步将要开发的。当你回来工作时,你能知道上一步开发到的指针; 单元测试函数使用长的而且具有描述性的名字。在正式执行代码中,可能使用square()或sqr()取名,但是在测试函数中,你必须取像test_square_of_number_2()、test_square_negativer_number()这些名字,这些名字描述更加清楚; 测试代码必须具有可读性; 单元测试对新进的开发人员来说是工作指南。 二、常见的测试框架 2.1Unittest unittest是Python内置的标准类库。它的API跟Java的JUnit、.net的NUnit,C 的CppUnit很相似。 通过继承unittest.TestCase来创建一个测试用例。 具体请参考 文档 。 举个例: import unittest def fun(x): class MyTest(unittest.TestCase): 执行后成功。 但是,如果将期望的结果改成5,则执行的结果如下图所示: 2.2Doctest doctest 模块会搜索那些看起来像交互式会话的 Python 代码片段,然后尝试执行并验证结果.即使从没接触过 doctest,我们也可以从这个名字中窥到一丝端倪。“它看起来就像代码里的文档字符串(docstring)一样” 如果你这么想的话,就已经对了一半了。 举个例子: def square(x): |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|