最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python測(cè)試函數(shù)出現(xiàn)AssertionError:None?!=?‘Janis?Joplin‘問題及解決

 更新時(shí)間:2023年09月09日 09:54:06   作者:畫憶笙  
這篇文章主要介紹了Python測(cè)試函數(shù)出現(xiàn)AssertionError:None?!=?‘Janis?Joplin‘問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Python測(cè)試函數(shù)出現(xiàn)AssertionError:None != ‘Janis Joplin‘

當(dāng)使用Python測(cè)試函數(shù)時(shí),可能會(huì)出現(xiàn)AsserttionError,即斷言錯(cuò)誤。

根據(jù)錯(cuò)誤提示可知,空值不能和測(cè)試期望結(jié)果Janis Joplin相同,仔細(xì)查看

正在測(cè)試的函數(shù)并沒有返回值,也就是所謂的none,所以才會(huì)出現(xiàn)錯(cuò)誤。

錯(cuò)誤函數(shù)代碼

如下:

def get_formatted_name(first, last):
    """獲得一個(gè)整潔的完整的姓名"""
    full_name = first+' '+last
    print(full_name.title())

我們發(fā)現(xiàn),單獨(dú)進(jìn)行運(yùn)行代碼時(shí),反而沒有問題,可是,一旦執(zhí)行測(cè)試代碼就會(huì)發(fā)生斷言錯(cuò)誤。

測(cè)試代碼

import unittest
from name_function import get_formatted_name
class NamesTestCase(unittest.TestCase):
    """測(cè)試函數(shù)name_function()"""
    def test_first_last_name(self):
        formatted_name = get_formatted_name('janis', 'joplin')
        self.assertEqual(formatted_name, 'Janis Joplin')
if __name__ == '__main__':
    unittest.main()

運(yùn)行測(cè)試代碼時(shí)會(huì)發(fā)現(xiàn)traceback:

Traceback (most recent call last):
  File "\test_name_function.py", line 10, in test_first_last_name
    self.assertEqual(formatted_name, 'Janis Joplin')
AssertionError: None != 'Janis Joplin'

當(dāng)我們把欲測(cè)試的函數(shù)添加一個(gè)返回值時(shí),即:

def get_formatted_name(first, last):
    """獲得一個(gè)整潔的完整的姓名"""
    full_name = first+' '+last
    return full_name.title()

再重新運(yùn)行測(cè)試代碼,就不會(huì)發(fā)生錯(cuò)誤了。

測(cè)試結(jié)果

如下:

Ran 1 test in 0.003s
 
OK
 
Process finished with exit code 0

注意:

這里有的人可能是:

.
----------------------------------------------------------------------
Ran 1 test in 0.000s
 
OK

這是電腦設(shè)置問題,但影響不大,句點(diǎn)的作用就是測(cè)試完的個(gè)數(shù),結(jié)果中已經(jīng)有了數(shù)字1,如果數(shù)量多的時(shí)候,不會(huì)有人去一個(gè)個(gè)數(shù)幾個(gè)句點(diǎn)吧。

注意

還有會(huì)發(fā)生不能測(cè)試的情況,這里很大可能是unittest調(diào)用主函數(shù)時(shí),沒有條件判斷if __name__ == '__main__',即正確代碼應(yīng)為:

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

而不是:

unittest.main()

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

南召县| 融水| 景德镇市| 德州市| 同德县| 瓮安县| 馆陶县| 沅陵县| 灵宝市| 滦南县| 陆丰市| 武乡县| 绍兴县| 南华县| 通山县| 弥勒县| 滕州市| 三亚市| 嘉禾县| 陇西县| 临桂县| 吉林省| 湘潭县| 合山市| 申扎县| 义乌市| 德化县| SHOW| 博乐市| 霍城县| 茂名市| 昭平县| 奉节县| 奉新县| 怀仁县| 彰化县| 同仁县| 新绛县| 南华县| 县级市| 自治县|