テストを書いています。大規模なシステムの可能性がある複数のディレクトリ数十/数百/千モジュールおよびクラスのがあります。すべてのこれらのテストを実行するにはどうするか。テストのロードと実行をチェックしてください。簡単な方法はテスト発見。使うことができました。ケースのクラスを作成することがなくテスト関数を実行するようないくつかの他の利点。この記事の目的のための単体テストに固執してみましょう。ベースのテストを実行するには、コマンドラインで入力します。discover単体テストがすべてのファイルとサブディレクトリをスキャン、検出すると、テストを実行し、素敵なレポートとしてランタイムを提供します。フラグを追加できます。-v操作を制御するフラグがいくつかあります。カバレッジは、しばしば無視されるフィールドです。カバレッジは、テストで実際にテスト、コードの量を意味します。if-else文を含む関数があり、if分岐のみをテストする場合、else分岐が機能するかどうかはわかりません。その引数の型をチェックします。両方が整数の場合、それはちょうどそれらを加えます。両方が文字列である場合は、それらを整数に変換しようとするし、それらを追加します。それ以外の場合、例外が発生します。関数をテストし引数には、浮動小数点数し、それぞれのケースで正しい動作を確認します。文字列引数の場合はテストされていません。5.0)unittest.main()ここでは、出力です。0実践的な単体テスト産業強度単体テストの記述、単純な簡単ではありません。いくつかの考慮すべきとされるデメリットがあります。コードまたは泥、異なる抽象化レベルが一緒に混合され、コードのすべての部分によって決まるあらゆるコードの大きなボール正式と呼ばれるものの場合は、つらい時をそれをテストがあります。何かを変更するたびに、テストの束を更新するもよ。良いニュースは、汎用の適切なソフトウェアの設計はまさにテスト容易化のため何が必要です。移動、停止、移動します。この機能は、完全に独立したサブシステムによっておそらく実装する必要があります。スタックその他自動運転の車と対話するさまざまなセンサーからデータを読み取ることがあります。実際にどのようにこの作品を見てみましょう。呼ばれる引数を受け入れ、このオブジェクトにこの機能を委任します。正しく使用していることをテストします。コストに相関する必要があります。自動運転車クラスは超重要です。破壊するされる、全自動運転の車市場を脱線させる人を殺す可能性があります。メソッドの単体テストは私より少し厳しくなると思います。つのボタンがちらつく場合はそれを修正することがありますが、おそらくこのケース用の専用の単体テストを追加しません。経済学はそれを揃えしません。テストの考え方テストの考え方は重要です。それとそれをテスト、テストを使用する他のコード。この単純なルールは、デザインと依存関係とたくさん助けます。場合は、コードのテストを記述する必要を覚えて、テスト中に再構築することは困難の依存関係の多くは追加しません。コードは、何かを計算する必要があります。動的に参照してください必要があります。理由で必要がありますこれは、すべてが、単一の関数を入れているすべてのことはかなり困難になる単体テスト。モックでまだ可能ですが、コードを適切に構築するより良い。純粋関数テストするための最も簡単なコードは、純粋な関数です。純粋関数は、そのパラメーターの値のみにアクセスしてない副作用を持っている、同じ引数で呼び出されるたびに同じ結果を返す関数です。システム、またはネットワークにアクセスしないでください。その利点は、ここでカウントする余りにも多く。彼らは簡単にテストできますか。テストする特別な環境を設定する必要はありません。あなたは引数を渡すし、結果をテストします。テスト対象のコードに変更がない限り、テストを変更する持っていないことを知っておく。構成ファイルを読み取る関数を比較します。ファイルを作成し、テスト対象のコードをそのファイル名を渡す必要があります。大したことありません。ある必要がありますと仮定します。彼らはテストを含むすべてのテストを実行し、それらが全て合格!なぜでしょうか。コードを変更していません。ファイルを作成します。エラー処理のテストエラー処理は、テストする重要な別のものです。入力の正しさを担当しているか。すべての関数とメソッドはそれについて明確にする必要があります。場合関数の責任は、その入力を検証すべきしかし、呼び出し元の責任です関数できますだけビジネスについて行く、その入力が正しいと仮定します。システムの全体的な正確性は、呼び出し元が関数に正しい入力のみが通過することを確認するためのテストを持っていることによって確保されること。インターフェイスで入力を検証する場合します。メソッドを見てみましょう。パラメーターを期待しています。パラメーターが使用されますが、ドライブの方法では、それが正しいことを確認しません。先が緯度と経度のタプルをすることになっていると仮定します。(例えば、海の真ん中に先)。