程式的測試 三

2021-04-16 08:49:50 字數 1775 閱讀 4409

源**檢查工具

doctest和unittest都是檢查功能的。現在我們介紹兩個檢查原始碼的工具,以便提高你的**的質量。它們分別是pychecker(

http://pychecker.sf.net)和pylint(

用pychecker檢查檔案的方法如下:

pychecker file1.py file2.py

用pylint檢查檔案的方法如下:

pylint module

下面給出使用這兩個工具的乙個測試程式的例子:

import unittest, my_math

from subprocess import popen, pipe

class producttestcase(unittest.testcase):

# insert previous tests here

def testwithpychecker(self):

cmd = 'pychecker', '-q', my_math.__file__.rstrip('c')

pychecker = popen(cmd, stdout=pipe, stderr=pipe)

self.assertequal(pychecker.stdout.read(), '')

def testwithpylint(self):

cmd = 'pylint', '-rn', 'my_math'

pylint = popen(cmd, stdout=pipe, stderr=pipe)

self.assertequal(pylint.stdout.read(), '')

if __name__ == '__main__': unittest.main()

在上面的**中,我們使用了一些選項如『-q』、『-rn',這樣可以避免無關的輸出以防止干擾我們的測試。

上面的**中的所定義了兩個函式何以任意去掉乙個,我只是為了方便。

下面我們改寫一下my_math.py:

"""a ****** math module.

"""__revision__ = '0.1'

def product(factor1, factor2):

'the product of two numbers'

return factor1 * factor2

執行測試不會任何錯誤。如果我們將factor1 * factor2改為x*y的話,功能測試仍然成功,但原始碼測試將警告說:變數名太短。

優化檢查工具

標準庫提供了乙個好的用於優化檢查的模組,名為profile,通過檢查你可以優化**以提高**的執行速度。使用profile非常簡單,只需要使用run方法並帶乙個字串引數即可。示例如下:

>>> import profile

>>> from my_math import product

>>> profile.run('product(1, 2)')

這將給你乙個關於不同的函式和方法呼叫了多少次以及不同的函式花費了多少時間。如果你給run函式提供了第二個引數,例如'my_math.profile',那麼檢查結果將被儲存到檔案中。稍後你可以使用pstats模組來檢查儲存在檔案中的結果,示例如下:

>>> import pstats

>>> p = pstats.stats('my_math.profile')

好了,通過功能檢查、原始碼檢查和優化檢查,相信我們的程式可以得到更好的完善。

Vbs 測試程式三

值得一提的是感興趣的同學可以把 chr 13 chr 13 chr 13 改為chr 11 chr 11 chr 11 不贅述 on error resume next dim wshshella set wshshella wscript.createobject wscript.shell ws...

程式的測試 一

程式的測試 在python中,測試就是反覆的編輯和執行。當 你寫一段程式的時候,你必須首先要清楚這段程式要解決什麼問題,你可以先寫乙個文件,以闡明這段程式要達到的目標,以便以後檢查原程式是否滿足要求,然後 為它寫一測試程式。比如,如果你想寫一模組,它只有乙個函式rect area,這個函式用來計算給...

程式測試的小結

或曰之程式測試 今天測試buff的屬性疊加的時候,犯了致命性的原則錯誤,就是為了證明自己的正確性而測試,以下便是偶的自我檢討。或曾經曰過 程式測試是為了發現錯誤而執行程式的過程 就是在 完成後,通過執行程式來發現 或模組中錯誤。但是,這種意義上的測試是不能在 完成之前發現系統需求 設計上的問題,也就...