[TIL]Unit Test
10146 ワード
導入する前に、開発者は正常に動作するかどうかをテストします.テストの方法もいろいろあるので、彼を理解してみましょう.
システムテスト方法
E2E(UI) Testing - 10% Integrating Testing - 20% Unit Testing - 70%
上のコードの最初の項目で、フロントたちがクロムを入れて実際に動作させたのはこれです!
Chromeブラウザを開いた後、私が作成したページに直接アクセスし、値を入力して確認する方法です.
これはシステムテストで最も難しい方法です.これは自動化の面でも非常に難しい方法です.
HttpieやPostmanでテストしたバックエンドがこれ!
2つ以上のクラスまたはサブシステムの結合をテストする方法.次はE 2 Eテストで、時間と財務の面で消費が多いです.
詳細は以下の技術です!
Unit Testとは?
は、他のテストよりも低コストです.人は一度にスクリプトで自動的に実行するから! は、他のテストよりも高速に動作します.->2つ目のプロジェクトで使用することをお勧めする理由はこれです! 一度設備テストが完了すると、中長期メンテナンスが容易になります. すべての関数は,各方法でテストされ,コード自体にエラーが発生する可能性は低い.後で発見した誤りを修復した後、ユニットテストを行うだけでいい、 試験ユニットは、各機能の最小ユニットに集中しなければならない.目的 各テストユニットは独立している必要があります.1つのテストであってもよいし、複数のテストセットであってもよい場合は、しっかりスクロール(呼び出しの順序に関係なく) .テストを高速に動作させるように努力します.テストに必要なデータ構造が複雑すぎる場合は、別々に作成し、 をスケジュールします.がその日の符号化を開始する前に、いつもテストセットを回します. コードをデバッグするときは、まず新しいテストを作成してエラーを指摘します.これも私たちがお勧めする です.テスト関数の場合、長い記述的な名前を使用する必要があります.さもないと大事になるよ.🙃 Unit Test開発ガイドライン
mycalc.py tests.py
システムテスト方法
Test Pyramid
Google Test Automation Conferenceが提案したテストピラミッドは、3つのテスト方法の割合を推奨します.
1.End-To-End(E2E) TEST
上のコードの最初の項目で、フロントたちがクロムを入れて実際に動作させたのはこれです!
Chromeブラウザを開いた後、私が作成したページに直接アクセスし、値を入力して確認する方法です.
これはシステムテストで最も難しい方法です.これは自動化の面でも非常に難しい方法です.
2.Integrations Testing
HttpieやPostmanでテストしたバックエンドがこれ!
2つ以上のクラスまたはサブシステムの結合をテストする方法.次はE 2 Eテストで、時間と財務の面で消費が多いです.
3.Unit Test
詳細は以下の技術です!
Unit Testとは?
ユニットテストとは、私が作成したコードの最小ユニットをテストする方法です.(ここで最小単位は함수
)
上記のコードの最初のプロジェクトでは、お客様と照合する前に
1.httpie独自テストに合格する->Integrating Testing
2.フロントとの連携テスト->E2E(UI) Testing
この2つの方法を行い,この方法よりも小さい単位でテストを行った.
Unit Testの利点
Unit Testの一般原則(いくつかのみ)
Unit Test開発ガイドライン
Pythonのunittestモジュール開発ユニットを使用してテストする場合、通常は次の手順に従います.
1.unittestモジュールを最初にインポートします。
import unittest
2. unittest.TestCaseクラスを継承するテストクラスを作成します。
class MyCalcTest(unittest.TestCase):
3.テストクラスでtestで始まるテストメソッドを生成します。
def test_add(self):
4.tesdメソッドは、通常テストする関数またはメソッドを呼び出し、結果値selfを呼び出します。assert*()メソッドを使用して検証します。(assertEqual、assertTrue、assertFalse、assertRaises、assertRegexなどの様々なassertメソッドを使用できます)。
def test_add(self):
c = myCalc.add(20, 10)
self.assertEqual(c, 30)
5.テストクラスが完了したら、unittest。main()を呼び出してテストを実行します。
Unit Test例
import unittest
class MyCalcTest(unittest.TestCase):
def test_add(self):
def test_add(self):
c = myCalc.add(20, 10)
self.assertEqual(c, 30)
def add(a, b):
return a + b
def substract(a, b):
return a - b
import unittest
import mycalc
class MyCalcTest(unittest.TestCase):
def test_add(self):
c = mycalc.add(20, 10)
self.assertEqual(c, 30)
def test_substract(self):
c = mycalc.substract(20, 10)
self.assertEqual(c, 10)
if __name__ == '__main__':
unittest.main()
> python -m unittest --v
test_add (test_my_calc.MyCalcTest) ... ok
test_substract (test_my_calc.MyCalcTest) ... ok
----------------------------------------------------------------------
Ran 2 tests in 0.000s
OK
2番目のプロジェクトから、すべてのプロセスでユニットテストが行われ、githubが推進されます.Rebaseと一緒にとても怖い存在ですがチャレンジしてみましょう!がんばってください.Reference
この問題について([TIL]Unit Test), 我々は、より多くの情報をここで見つけました https://velog.io/@fhwmqkfl/TILUnit-Testテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol