Python連載22-調試&單元測試

来源:https://www.cnblogs.com/ruigege0000/archive/2019/07/12/11173647.html
-Advertisement-
Play Games

一、調試技術 (1)調試流程​:單元測試->集成測試->交測試部 (2)分類:i.靜態調試(說白了就是看代碼,看看有沒有錯);ii.動態測試 1.pdb調試 ​相關連接:https://blog.csdn.net/xc_zhou/article/details/80921483 作者:周小董 2.p ...


一、調試技術

(1)調試流程​:單元測試->集成測試->交測試部

(2)分類:i.靜態調試(說白了就是看代碼,看看有沒有錯);ii.動態測試

1.pdb調試

​相關連接:https://blog.csdn.net/xc_zhou/article/details/80921483

作者:周小董

2.pycharm調試

含有兩種模式:(1)run/debug模式

斷點:程式的某一行,程式在debug模式下,進行調試

例子:

 

#debug模式

def SayHello(name):

    print("I want to say hello with your,{0}".format(name))

    print("Hello,{0}".format(name))

    print("Done....")

if __name__=="__main__":

    print("****"*10)

    name = input("Please input your name:")

    print(SayHello(name=name))

    print("@@@"*10)

 

​下麵將進行調試:

 

(1)pycharm有兩個按鈕run和debug

run是直接運行我們的代碼,debug就是調試我們的代碼

(2)我們要調試某一行,那就在那一行的行號位置單擊一下,代表的意思就是我們如果點擊debug,程式就會執行到這個位置暫停​。

(3)點擊debug按鈕之後,在界面下麵會跳出來debugger小窗,這裡會是調試過程中顯示程式內部變數給我們看的地方​。

(4)我們暫停到這一行,還要接著執行下去,有兩種按鈕step over和step into​。step over是執行這一行到下一行停止的意思。step into也是執行這一行到下一行停止的意思,區別在於,得看這一行是不是內含代碼了。

(5)我們舉個例子

我們點擊step into,就會調到這個界面,意思就是看一下我們這個input語句是怎麼運行的,我們知道這一行肯定沒錯,因此看它也沒用​。

(6)因此我們點擊step out,跳出這個界面回到我們剛纔的界面我們點擊step over,我們執行這條語句就行,不用進去看代碼

(7)我隨筆輸入了幾個字母如標示1,然後剛纔那條語句後面給我顯示出來了標示2(debugger中也顯示了,我沒截圖而已,從哪裡看都行),然後程式向下走了一步​。

(8)這時候我們點擊step into,(之所以不點擊是step over,是因為這條語句,裡面是一個函數,我們想看看它具體怎麼執行的,有沒有什麼錯誤。當然點擊step over也行,他就直接把函數給執行完了,但是我們的目的就是要看看程式具體如何執行,所以才進去),看一下,果然不出所料所料,程式進入到函數裡面去了,後面就是一步一步調試了​。

3.單元測試

推薦文檔​:

https://wiki.python.org/moin/PyUnit

二、源碼:

d21_2_debug_and_unit_test

地址:https://github.com/ruigege66/Python_learning/blob/master/d21_2_debug_and_unit_test

2.CSDN:https://blog.csdn.net/weixin_44630050(心悅君兮君不知-睿)

3.博客園:https://www.cnblogs.com/ruigege0000/

4.歡迎關註微信公眾號:傅里葉變換,後臺回覆”禮包“,獲取大數據學習資料

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 當前的運行環境為,PHP7.2.2以 FastCGI 模式運行,預設埠為:9000,Nginx1.15.6 打開nginx配置文件 具體位置根據安裝情況可能會有所差異 在 server{}代碼段里新增以下代碼就可以支持 php 的訪問了 ...
  • 推送的方式: 簡訊推送(第三方) 郵件推送 微信推送 公眾號:認證的公眾號(個人的認證公眾號每天只能發一篇文章),粉絲可以跟公眾號聊天, 未認證公眾號 服務號:企業認證(營業執照),沙箱環境測試 主動給用戶發消息(推送),用戶要接收到推送消息前提是需要關註對應的服務號才行 企業號 微信小程式 公眾號 ...
  • 1、線程的使用步驟 2、第一種定義線程類的方法:繼承java.lang.Thread類 MyThread 文件: public class MyThread extends Thread { private int count=0; @Override public void run() { Sys ...
  • 回車鍵:開始游戲,空格鍵:暫停 / 繼續,方向鍵 或 WSAD 鍵:控制移動方向 下載地址 ...
  • 這個看著應該是使用堆排序,但我圖了一個簡單,所以就簡單hash表加選擇排序來做了。 使用結構體: 思路: hash表用來存儲每個值對應的頻率,每讀到一個數字,對應的頻率就加1。 然後從表中再把這些數據讀取出來。 先創建兩個長度為k的數組,一個用來記錄頻率,一個用來記錄對應的數值。 讀取數據的時候,使 ...
  • 作為一個樂於分享的人,我希望通過一些成熟優秀的代碼庫,來向大家展示讀源碼思路以及闡述編程方面的技巧,也希望大家從中思考並得到屬於自己的一套編程方法論。 半年以來,已進行72小時時長的源碼解讀分享視頻錄製,額外分享時間未計,雖有諸多不足,依然歡迎進行技術交流,也希望可以影響到更多人參與到分享中來,通過 ...
  • Apache Maven,是一個軟體(特別是Java軟體)項目管理及自動構建工具,由Apache軟體基金會所提供。基於項目對象模型(縮寫:POM)概念,Maven利用一個中央信息片斷能管理一個項目的構建、報告和文檔等步驟。曾是Jakarta項目的子項目,現為獨立Apache項目。1.軟體下載http ...
  • 微服務已經流行很久了。相比前兩年而言,確實很流行了。 微服務流行不是什麼壞事,微服務本身是一個很好的架構思想,架構思想一直在改變,微服務之前的SOA也是不錯的做法。只是,在享受新思想帶來的好處時,卻不要為了新而新。 微服務解決了SOA沒有解決的一些問題,但它並不是萬能的,它本身也並非什麼高大上的新技 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...