• <menu id="w2i4a"></menu>
  • logo PyCharm入門(mén)教程

    文檔首頁(yè)>>PyCharm入門(mén)教程>>PyCharm入門(mén)第一步(三)——測(cè)試第一個(gè)Python應(yīng)用程序

    PyCharm入門(mén)第一步(三)——測(cè)試第一個(gè)Python應(yīng)用程序


    PyCharm v2019.1全新發(fā)布

    步驟3:測(cè)試您的第一個(gè)Python應(yīng)用程序

    選擇test runner

    如果您之前使用過(guò)nosetest, py.test或Twisted Trial,則必須選擇 unittest。

    創(chuàng)建測(cè)試

    創(chuàng)建測(cè)試的一種快捷方法是讓PyCharm將它們從要測(cè)試的類(lèi)中刪除。為此,需要打開(kāi)Car.py,然后右鍵單擊editor background,指向Go To,然后選擇Test (或按下 Ctrl+Shift+T):

    出現(xiàn)一個(gè)彈出窗口,建議創(chuàng)建一個(gè)新測(cè)試:

    現(xiàn)在將測(cè)試我們的Car是否能夠加速和制動(dòng),所以選擇這些復(fù)選框:

    創(chuàng)建一個(gè)新的Python測(cè)試類(lèi):

    您可以為測(cè)試創(chuàng)建 Run/Debug configuration。但是,如果在上下文菜單中運(yùn)行'testtest中的'Unittest,這時(shí)可以看到默認(rèn)情況下測(cè)試失?。?/p>

    Writing test

    對(duì)于示例,使用這些測(cè)試:

    運(yùn)行測(cè)試

    現(xiàn)在通過(guò)右鍵單擊類(lèi)聲明上方的editor background來(lái)運(yùn)行測(cè)試 test_car。這次一些測(cè)試成功通過(guò):

    調(diào)試測(cè)試

    接下來(lái),深入研究測(cè)試代碼和調(diào)試其中一個(gè)失敗的測(cè)試。例如,將在以下位置放置一個(gè)斷點(diǎn):

    接下來(lái),啟動(dòng)調(diào)試器會(huì)話(huà)。 要執(zhí)行此操作,請(qǐng)?jiān)诜椒╰est_should_not_allow_negative_speed上右鍵單擊editor background 。

    將斷點(diǎn)放在test_should_not_allow_negative_speed方法的self.car.brake()語(yǔ)句中。來(lái)看看調(diào)試器輸出:

    單擊向下箭頭按鈕跳過(guò)庫(kù)類(lèi)并進(jìn)入Car類(lèi):

    接下來(lái),進(jìn)入我的代碼再次單擊相同的按鈕,并查看測(cè)試調(diào)試輸出:

    它表明速度可能變?yōu)樨?fù)值,這是不可能的。似乎在Car類(lèi)的代碼中需要進(jìn)行一些額外的檢查::更改brake方法如下:

    現(xiàn)在再次運(yùn)行測(cè)試:

    自動(dòng)運(yùn)行測(cè)試

    在修復(fù)代碼之后,使用“播放”圖標(biāo)重新進(jìn)行測(cè)試。如果你想專(zhuān)注于你的代碼,只是看看你何時(shí)解決了這個(gè)問(wèn)題,PyCharm可以自動(dòng)為你運(yùn)行測(cè)試。

    掃碼咨詢(xún)


    添加微信 立即咨詢(xún)

    電話(huà)咨詢(xún)

    客服熱線(xiàn)
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();