ホームページ >テクノロジー周辺機器 >IT業界 >ユニットテストでGitでデバッグを自動化します
で二等分ウィザードを起動します
「良い」と「悪い」コミットメントを選択するか、それぞれバグが存在していて存在していた既知のコミットメントを選択しますgitがバグを導入するコミットを見つけるまで、「良い」または「悪い」としてテストされるコミットを割り当てます
git bisectのプロセスを自動化するには、コードのテストを作成する必要があります。 Pythonでは、無視されたモジュールを使用してテストケースを書き込みます。基本的なテストの外観は次のとおりです
<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
エラーを導入したコミットが最後ではないように、さらにいくつかのコミットを追加しましょう。
二等分プロセスを開始
私たちの場合、それは次のことが判明します。
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はすべての改訂でこれらのテストを実行し、コミットを正常に割り当てるべきかどうかを決定します。
gitが完了したら、すべてのコミットの実行テストを実行したら、魔法のようなエラーを導入するコミットを把握します!
<span>git bisect start b60fe2cf35 98d9df03b6</span>
コミットを見つけたら、git bisect resetでウィザードをリセットすることを忘れないでください。
<span>git bisect run [command to run tests]</span>
単体テストの代わりに、カスタム終了コードを備えたカスタムシェルスクリプトを作成することもできます。一般に、0の出口コードは成功と見なされます。他のすべては失敗です。
最終的な考えコードベースのサイズが大きくなると、記述したコードの小さな部分ごとに単体テストを作成する必要があります。テストを書くことは時間がかかるように思えるかもしれませんが、この場合に見たように、彼らはあなたがデバッグをして、長期的に時間を節約するのに役立ちます。
GITユニットテストで自動化されたデバッグを設定するには、いくつかのステップが含まれます。まず、Gitリポジトリを作成して初期化する必要があります。次に、プログラミング言語と互換性のあるテストフレームワークを使用して、ユニットテストを作成する必要があります。テストが記述されたら、連続統合(CI)ツールを使用して、これらのテストの実行を自動化できます。このツールは、Gitリポジトリに変更をプッシュするたびにテストを実行するように構成できます。このようにして、開発プロセスの早い段階でバグをキャッチして修正することができます。
GITユニットテストでデバッグを自動化するには、いくつかの利点があります。開発プロセスの早い段階でバグをキャッチするのに役立ち、時間とリソースを節約できます。また、コードのすべての部分が一貫してテストされることを保証します。これにより、コードの全体的な品質が向上し、信頼性が高くなります。さらに、必要な手動テストの量を減らすことにより、開発プロセスをより効率的にすることができます。 >継続的統合(CI)は、開発者がコードを頻繁に共有リポジトリに統合する開発慣行です。通常は1日に複数回です。各統合は、自動化されたビルドおよび自動化されたテストによって検証されます。 GITユニットテストのコンテキストでは、CIを使用して、変更がGITリポジトリにプッシュされるたびにこれらのテストの実行を自動化できます。これにより、バグを早期にキャッチし、コードのすべての部分が一貫してテストされることを保証します。 。まず、各テストでは、単一の機能または動作に焦点を当てる必要があります。これにより、失敗の原因を識別しやすくなります。第二に、テストは独立しており、任意の順序で実行できる必要があります。これにより、あるテストの結果が別のテストの結果に影響を与えないことが保証されます。第三に、テストは繰り返し可能で、実行されるたびに同じ結果が得られるはずです。これにより、テストが信頼性が高く、バグをキャッチするために信頼できることが保証されます。
gitユニットテストを使用して、アプリケーションのユーザーインターフェイス(ui)をテストできますか?コード、アプリケーションのユーザーインターフェイス(UI)ではなく。ただし、統合テストやエンドツーエンドテストなど、他のタイプのテストを使用して、UIをテストできます。これらのテストは、連続積分(CI)ツールを使用して自動化して実行することもできます。これは、開発プロセスの早い段階でUIのバグをキャッチするのに役立ちます。
以上がユニットテストでGitでデバッグを自動化しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。