我的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//在这里表示测试了两个函数,并且这两个函数均可行
到这里,关于函数的测试就已经学习完了。

关于类的测试也已经学习完了,稍后会更新关于类的测试的学习过程

猜你喜欢

转载自blog.csdn.net/weixin_43898040/article/details/85842240