啟動與git bisect start
>的雙向嚮導
選擇“好”和“壞”提交,或者分別缺乏錯誤和存在的已知提交,分別是分段環境
在這篇文章中,我將在Python中編寫一個小模塊,其中包含一個添加兩個數字的函數。這是一項非常簡單的任務,我將僅出於演示目的而執行此操作。該代碼是自我解釋的,所以我不會詳細介紹。
>>為了自動化GIT二等的過程,您需要為代碼編寫測試。在Python中,我們將使用Unitest Module編寫測試用例。這是一個基本測試的樣子。
<span>#add_two_numbers.py </span>def add_two_numbers<span>(a, b): </span> <span>''' </span> Function to <span>add two numbers </span> <span>''' </span> addition <span>= a + b </span> <span>return addition</span>
我們可以編寫更多這些測試,但這只是為了演示如何繼續進行。實際上,您絕對應該編寫更多的測試用例,因為您的程序和應用程序將比此更複雜得多。
>運行單元測試,執行tests.py文件包含您的測試案例。
<span>#tests.py </span><span>import unittest </span>from add_two_numbers <span>import add_two_numbers </span> class TestsForAddFunction<span>(unittest.TestCase): </span> def test_zeros<span>(self): </span> result <span>= add_two_numbers(0, 0) </span> self.assertEqual<span>(0, result) </span> <span>if __name__ == '__main__': </span> unittest.main<span>()</span>如果測試通過,則應獲取以下輸出。
>
要驗證測試是否失敗,讓我們再次運行它們。
python tests.py
>讓我們再添加一些提交,以便引入錯誤的提交不是最後一個。
對於Git Bisect嚮導,我們將選擇最新的提交為BAD(B60FE2CF35),而第一個提交為好(98D9DF03B6)。
在我們的情況下,這將是以下內容。
def add_two_numbers<span>(a, b): </span> <span>''' </span> Function to <span>add two numbers </span> <span>''' </span> addition <span>= a + 0 </span> <span>return addition</span>當我們提供git命令以運行測試本身而不是詢問我們時,git為每個修訂版運行這些測試,並決定是否應分配好是好還是壞。
>
<span>git bisect start b60fe2cf35 98d9df03b6</span>>一旦完成了每個提交的git運行測試,它就會弄清楚哪個提交引入了錯誤,例如魔術!
<span>git bisect run [command to run tests]</span>>一旦您找到了自己的提交,請不要忘記使用git bisect重置重置嚮導。
>代替單元測試,您還可以創建具有自定義出口代碼的自定義外殼腳本。通常,0的出口代碼被認為是成功的,其他一切都是失敗。
最終想法
>
>>您的團隊如何調試代碼中的錯誤?在下面的評論中讓我們知道。
>
什麼是連續集成(CI),以及與GIT單位測試有何關係? >連續集成(CI)是開發實踐,開發人員通常每天多次將代碼集成到共享存儲庫中。然後,通過自動構建和自動化測試來驗證每個集成。在GIT單元測試的上下文中,CI可用於自動化這些測試的運行,每次更改都將其推向GIT存儲庫時。這有助於儘早捕獲錯誤,並確保對代碼的所有部分進行一致的測試。>編寫有效的單位測試涉及幾種最佳實踐。首先,每個測試應關注單個功能或行為。這使得更容易確定任何失敗的原因。其次,測試應是獨立的,並且能夠按任何順序運行。這樣可以確保一個測試的結果不會影響另一個測試的結果。第三,每次運行時都應重複測試,並產生相同的結果。這樣可以確保您的測試可靠,並且可以信任捕獲錯誤。
>>如果我的git單位測試失敗,該怎麼辦?單位測試失敗,第一步是確定失敗的原因。這通常涉及檢查測試輸出和正在測試的代碼。確定原因後,您可以對代碼進行必要的更改並重新運行測試。如果測試通過,則可以將更改推向GIT存儲庫。如果他們再次失敗,您可能需要修改測試或代碼直到通過。使用任何編程語言的GIT單元測試。但是,您使用的特定工具和技術可能會因語言而異。大多數編程語言都有一個或多個測試框架,您可以用來編寫單元測試。此外,大多數連續集成(CI)工具都支持多種語言,並且可以配置為運行測試,而不管他們寫的語言如何。
確保您的GIT單元測試有效,涉及幾種最佳實踐。首先,您的測試應涵蓋代碼的所有部分,包括邊緣案例。這樣可以確保您的測試是全面的。其次,您的測試應是獨立的,並且能夠按任何順序運行。這樣可以確保一個測試的結果不會影響另一個測試的結果。第三,您的測試應可以重複,並在每次運行時產生相同的結果。這樣可以確保您的測試可靠。
>我可以使用GIT單元測試測試我的應用程序的用戶界面(UI)嗎?>
以上是通過單位測試在GIT中自動調試的詳細內容。更多資訊請關注PHP中文網其他相關文章!