私は、データベースや他のAPIとやり取りする必要のある厳しい依存関係を持つ多くの「単体テスト」を持つプロジェクトに取り組んでいます。テストは、私たちのチームにとって貴重かつ有用なリソースですが、テスト環境内の他のサービスの機能に頼ることなく、単独では実行できません。個人的に私はこれらの「機能テスト」と呼んでいますが、これはすでにチーム内で確立されているセマンティクスに過ぎません。Python単体テストをデータベース依存関係にする方法を教えてください。
問題は、より純粋な単体テストをコードに導入するようになったため、外部依存関係を持つ、または持たないテストのメドレーがあります。これらのテストは、他のツールをインストールまたは設定する必要がないコードをチェックアウトした直後に実行できます。また、ジェンキンのような継続的な統合環境で実行することもできます。
私の質問は、どうすればよりクリーンな分離ができるのかを示すことができます。ユニットテストライブラリ内に既存のデコレータがありますか?
あなたのテストはクラスですよね?では、継承を使ってテストを分類する方法はありますか?継承は基本的に "A * is a * B"です。 Djangoはこれを行い、異なるレベルのデータベースアクセスを必要とするテストを区別します。 – spectras
これをマークするのは簡単です。クラスにフラグを追加するだけです。ただし、テストパイプラインによって最適なものは異なります。どのようにテストを実行しますか? TestSuitesのセット、カスタム選択プロシージャ、単純な 'setup.py'を持っていますか? – MisterMiyagi