成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

關(guān)于PyCharm中Python測(cè)試不是run_testname 而是run_unittest_in

MiracleWong / 1368人閱讀

摘要:自動(dòng)生成測(cè)試文件,再添加一些內(nèi)容,對(duì)照下圖那個(gè)是干嘛的,有什么用,系統(tǒng)自動(dòng)生成,我暫時(shí)還不知道我也是看了別人的博客論壇后自己總結(jié)的,有很多原理性的東西我并不太了解,但是我會(huì)繼續(xù)努力學(xué)習(xí)

本人是python初學(xué)者
看的課本是《Python編程從入門(mén)到實(shí)踐》【美】Eric Matthes 著;袁國(guó)忠 譯,中國(guó)工信出版集團(tuán),人民郵電出版社出版
課本指定編輯器是Geany,用了一小段時(shí)間后,朋友推薦PyCharm,所以就用的PyCharm編輯python
在課本的“測(cè)試函數(shù)”這一章中,PyCharm無(wú)法顯示書(shū)中所示的結(jié)果,所以就了解了一下
PS:在Geany中是完全再現(xiàn)書(shū)中的結(jié)果的

要測(cè)試的方法:name_function.py中的get_formatted_name()方法:

書(shū)中編寫(xiě)的方法如圖:

print("**** "+__name__)

這個(gè)是為了看__name__的值,記得要注釋掉,否則別的py文件調(diào)用這個(gè)py文件的時(shí)候會(huì)運(yùn)行
末尾和書(shū)里的有點(diǎn)不一樣

unittest.main()

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

都可以,但是最好還是第二種,為了避免別的 .py文件引用該文件后會(huì)運(yùn)行該文件的

uniittestmain()方法,

看不懂的下面就是解釋
這樣的代碼,結(jié)果不一定 跟書(shū)里的一樣,為什么呢?
這要先從__name__這個(gè)屬性開(kāi)始說(shuō):
比如一個(gè)python文件,命名為a.py
當(dāng)從編輯器中直接運(yùn)行a.py或者從命令行中直接運(yùn)行a.py,那么a.py的__name__屬性就是"__main__"
如果另外有一個(gè)b.py,從b.py中導(dǎo)入a.py,即b.py中import a,然后運(yùn)行a.py,那么a.py的__name__屬性就是a.py的文件名,也就是‘a(chǎn)’
詳情見(jiàn)一位大神寫(xiě)的:
鏈接描述
python中

if __name__ == "__main__"

說(shuō)完__name__,大家就要看運(yùn)行該文件時(shí)實(shí)際運(yùn)行的什么
為了更明白地說(shuō)明問(wèn)題,不要用ctrl+shift+F10運(yùn)行,要點(diǎn)右鍵,出來(lái)菜單后點(diǎn)運(yùn)行
正常來(lái)說(shuō),只有運(yùn)行該py文件,結(jié)果才能跟書(shū)里的一樣
拿上面圖片里的例子來(lái)說(shuō),要運(yùn)行test_name_function.py才能出來(lái)書(shū)里的結(jié)果,即點(diǎn)右鍵,出來(lái)菜單后點(diǎn) run"test_name_function",但是實(shí)際上點(diǎn)了右鍵后出來(lái)的卻是 run"Unittest in test_name_function"
這個(gè)的意思好像是在test_name_function中運(yùn)行Unittest,還是在Unittest運(yùn)行test_name_function,我也不太清楚,總之,好像是一個(gè)引用,這就導(dǎo)致__name__屬性變了,不是"__main__",而是"test_name_function",導(dǎo)致出不來(lái)書(shū)中的結(jié)果,即下圖

運(yùn)行結(jié)果不是我們想要的

這個(gè)問(wèn)題的關(guān)鍵就在于,怎樣將
run"Unittest in test_name_function"
變成
run"test_name_function"
我總結(jié)了兩種方法:
法一:
右擊,菜單中點(diǎn)‘open in terminal’即在命令行中運(yùn)行,出來(lái)命令行后輸入

python test_name_function.py

回車(chē)運(yùn)行,然后就會(huì)出現(xiàn)書(shū)中的結(jié)果,此時(shí)不要關(guān)閉命令行,根據(jù)結(jié)果修改.py文件,ctrl+S保存后,在命令行中直接按方向鍵的上鍵,重復(fù)上次的命令,這樣就不用每次都敲入命令了
法二:
右上角,打開(kāi)下拉菜單,如圖

點(diǎn)擊 Edit Configurations,編輯配置文件,打開(kāi)后如下圖

圖中python test下的就是Unittest in test_name_function,選中,點(diǎn)擊左上角的紅色減號(hào),去掉這一條,然后選中python test 上面的python,點(diǎn)擊左上角的綠色加號(hào),出來(lái)下拉菜單選python選項(xiàng),然后出來(lái)的界面,點(diǎn)script path最右邊的小方框,選中py文件路徑,點(diǎn)OK
如圖

再在最上面的Name一欄中把unnamed刪掉,寫(xiě)入名字,最好是py文件的文件名,直接從script path中把名字那一段復(fù)制粘貼上去就行
然后點(diǎn)右下角apply,再點(diǎn)ok
退出來(lái)到test_name_function.py文件中,右擊,發(fā)現(xiàn)是 run"test_name_function"選項(xiàng),點(diǎn)擊運(yùn)行,出來(lái)結(jié)果和書(shū)上的一樣

補(bǔ)充:
test_name_function.py是為了給name_function.py中的get_formatted_name()方法測(cè)試而創(chuàng)建的
到 test_name_function.py 中,光標(biāo)放到 get_formatted_name 這個(gè)名字上,ctrl+shift+T,出來(lái)選項(xiàng),點(diǎn)擊“Create New Test。。。”自動(dòng)生成測(cè)試文件,再添加一些內(nèi)容,對(duì)照下圖

PS:
那個(gè)self.fail()是干嘛的,有什么用,系統(tǒng)自動(dòng)生成,我暫時(shí)還不知道
我也是看了別人的博客、論壇后自己總結(jié)的,有很多原理性的東西我并不太了解,但是我會(huì)繼續(xù)努力學(xué)習(xí)!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/41566.html

相關(guān)文章

  • 以后再有人問(wèn)你selenium是什么,你就把這篇文章給他

    摘要:不同目標(biāo)的自動(dòng)化測(cè)試有不同的測(cè)試工具,但是任何工具都無(wú)不例外的需要編程的過(guò)程,實(shí)現(xiàn)源代碼,也可以稱之為測(cè)試腳本。 寫(xiě)在最前面:目前自動(dòng)化測(cè)試并不屬于新鮮的事物,或者說(shuō)自動(dòng)化測(cè)試的各種方法論已經(jīng)層出不窮,但是,能夠在項(xiàng)目中持之以恒的實(shí)踐自動(dòng)化測(cè)試的團(tuán)隊(duì),卻依舊不是非常多。有的團(tuán)隊(duì)知道怎么做,做的還不夠好;有的團(tuán)隊(duì)還正在探索和摸索怎么做,甚至還有一些多方面的技術(shù)上和非技術(shù)上的舊系統(tǒng)需要重構(gòu)……...

    Keven 評(píng)論0 收藏0
  • 一些 PyCharm 的使用和設(shè)置建議

    摘要:顯示工具欄默認(rèn)并不顯示工具欄,在大多數(shù)工具欄都放了最常用的操作,你可以通過(guò)主菜單顯示菜單欄來(lái)顯示工具欄。工具欄顯示出來(lái)后你還可以通過(guò)右鍵定制上面的按鈕,我會(huì)把一些跟相關(guān)的操作放到上面,比如,,默認(rèn)它只加了和。 PyCharm是我強(qiáng)烈推薦的Python IDE,如果你有EDU的郵箱可以直接申請(qǐng)專業(yè)版授權(quán),或者就使用社區(qū)版,功能上并沒(méi)有太多縮減,日常開(kāi)發(fā)也完全夠用。 如果是首次安裝PyCh...

    Drinkey 評(píng)論0 收藏0
  • 為什么你的python版本一團(tuán)糟?因?yàn)樯倭诉@個(gè)操作

    摘要:坑人的版本的版本問(wèn)題一直是個(gè)廣被吐槽的黑點(diǎn)。這些版本的沖突在開(kāi)發(fā)中十分常見(jiàn),而和的版本差異又加劇了這一問(wèn)題。從而避免與其他版本發(fā)生干擾。 坑人的版本 Python 的版本問(wèn)題一直是個(gè)廣被吐槽的黑點(diǎn)。以至于有人調(diào)侃說(shuō): Python 是世界上最好的兩種語(yǔ)言! 在這里我要說(shuō)明下,對(duì)于初學(xué)者來(lái)說(shuō),版本間的語(yǔ)法差異其實(shí)并不大?,F(xiàn)在剛開(kāi)始學(xué) Python 的人,放心大膽地 用最新版本 即可。業(yè)內(nèi)...

    ThreeWords 評(píng)論0 收藏0
  • 如何開(kāi)發(fā)一個(gè) PyCharm 插件

    摘要:今天我們說(shuō)說(shuō)怎么搭建環(huán)境自己寫(xiě)一個(gè)插件。插件工程目錄結(jié)構(gòu)一個(gè)典型的插件目錄結(jié)構(gòu)就像下圖。如果成功那么在工程目錄就會(huì)生成一個(gè)同名的文件。 PyCharm 是很多 Python 開(kāi)發(fā)者優(yōu)先選擇的 IDE,功能強(qiáng)大,跨平臺(tái),提供免費(fèi)社區(qū)版,非常良心。如果你想自己給PyCharm添加一些功能怎么辦呢?有兩個(gè)辦法: 通過(guò)提需求實(shí)現(xiàn),到 JetBrains 的 github 去提issue或者自...

    LdhAndroid 評(píng)論0 收藏0
  • Python數(shù)據(jù)科學(xué)環(huán)境:Anaconda 了解一下

    摘要:我自己印象最深的是在上安裝加密和科學(xué)計(jì)算模塊,折騰了很久。這個(gè)精裝是面向數(shù)據(jù)科學(xué)的,同時(shí)也保留了你自己進(jìn)一步改裝的空間。數(shù)據(jù)科學(xué)庫(kù)包環(huán)境管理工具,這幾樣就是的主要功能。 幾乎所有的 Python 學(xué)習(xí)者都遇到過(guò) 安裝 方面的問(wèn)題。這些安裝問(wèn)題包括 Python 自身環(huán)境的安裝、第三方模塊的安裝、不同版本的切換,以及不同平臺(tái)、版本間的兼容問(wèn)題 等。當(dāng)你因?yàn)檫@些問(wèn)題而卡殼,一行代碼沒(méi)寫(xiě)就已...

    shaonbean 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<