1. 程式人生 > >我的python學習歷程

我的python學習歷程

快要期末考試了,最近一直在進行期末考試的複習工作,所以沒來得及更新部落格,抱歉了,今天進行python基礎中最後一部分測試程式碼的學習。

1.測試函式
在測試函式前,首先需要建立一個函式進行測試,在這裡建立一個名字的函式進行測試。
def a_asd(first,last):
all_asd=first+’ '+last
return all_name.title() //這個函式表示了名字的組成,接下來需要編寫一個程式來執行這個函式。

from go_asd import a_asd
print(“Enter ‘q’ to quit at any time.”)
while True:
first=input("\nPlease give me your first.")
if first==‘q’:
break
last=input("\nPlease give me your last.")
if last==‘q’:
break

go_asd=a_asd(first,last)
print("\n你確定名字:"+go_asd+"?")

Enter 'q’to quit at any time.

Please giveme your first:zhang
Please giveme your last:san
你確定名字:Zhang San?

Please give me your first:li
Please give me your last:si
你確定名字:Li Si?

Please give me your first:q //輸入q後程序在這裡終止

下面開始進行函式的測試

(1)可通過的測試
import unittest
from go_asd import a_asd

class AsdTest(unittest.TestCase): //建立一個類,用於包含測試函式。

  def test_first_last_asd(self)
  go_asd=a_asd('zhang','san')
  self.assertEqual(go_name,'Zhang San') //在這裡對原有程式進行了賦值,以檢測程式執行過程是否正確

unittest.main()

Ran 1 test in 0.000s
OK//表示對一個程式用了極少的時間進行了測試,並且測試成功

(2)不能通過的測試
在原有程式的基礎上再新增一箇中間名
def a_asd(first,middle,last)

all_asd=first+’ ‘+middle+’ '+last

return all_name.title()

再使用以上的測試的程式進行測試…
import unittest
from go_asd import a_asd

class AsdTest(unittest.TestCase): //建立一個類,用於包含測試函式。

  def test_first_last_asd(self)
  go_asd=a_asd('zhang','san')

 self.assertEqual(go_name,'Zhang San') //在這裡對原有程式進行了賦值,以檢測程式執行過程是否正確

unittest.main()
此時會出現錯誤的情況
E
ERROR:test_first_last_asd(main.AsdTest) //在這裡指出程式錯誤的地方

Ran 1 test in 0.000s

FAILED(errors=1) //在這裡指出程式測試失敗,並指出有一處錯誤。
(3)測試未通過時應該怎麼辦
改變需要測試的函式,可以在函式裡新增語句,防止錯誤。
def a_asd(first,middle,last)
if middle:
all_asd=first+’ ‘+middle+’ ‘+last
else:
all_asd=first+’ '+last
return all_asd.title() //這個語句表示出有middle和無middle兩種情況,防止程式執行混亂。
再執行以上的測試程式就會出現:
Ran 1 test in 0.000s
OK
此時測試程式就會顯示出函式沒有問題,成功執行。
(4)新增新測試
測試以上的所有函式

import unittest
from go_asd import a_asd
class AsdTest(unittest.TestCase): //建立一個類,用於包含測試函式。

  deftest_first_last_asd(self)
 go_asd=a_asd('zhang','san')
 self.assertEqual(go_name,'Zhang San') 
 
 def test_first_middle_last_asd(self)
 go_asd=a_asd('zhang','lao','san')
 self.assertEqual(go_name,'Zhang Lao San')//在這裡表示對以上兩個程式進行測試,在一個程式裡分別運用了兩個測試語句,

unittest.main()
這時候再執行程式會出現:
Ran 2 test in 0.000s
OK//在這裡表示測試了兩個函式,並且這兩個函式均可行
到這裡,關於函式的測試就已經學習完了。

關於類的測試也已經學習完了,稍後會更新關於類的測試的學習過程