私は、ドメインオブジェクトのロックを解除するために、新しいエンドポイントを記述しようと思って、何かのように:私はTDDを適用したよう- DBの通信に必要な(TDD)
../domainObject/{id}/unlock
、私が始めていますまずAPIテストを作成します。テストが失敗すると、私は統合テストとユニットテストの作成を開始し、実際のコードを実装します。
APIテストでは、テストフィクスチャセットアップ用のロックされたドメインデータが作成され、作成されるアンロックエンドポイントをテストする必要があります。ただし、ドメインオブジェクトをシステムにロックするためのエンドポイントはありません。 (私たちのQuartzジョブはデータをロックします)つまり、データベースを直接使用してデータを作成する必要があります。
APIテストでは、データベースの直接的な使用はベストプラクティスではありません。テストデータが必要な場合は、APIも呼び出す必要があります。例えば
../domainObject/{id}/lock
この場合、このシナリオは例外ですか?それとも、他の練習がありますか?
ありがとうございました。
私は、セットアップが特に困難である/費用がかかる場合は、テストデータに頼るか、バックドアを通して挿入することをお勧めします。つまり、実際の挿入/作成のシナリオをテストしているとき(他のシナリオの場合)です。あなたのケースでは、クォーツ(ジョブ)機能を制御/ラップする方法がない場合は、OKかもしれません。 –
はい、バックドアを使用することは許容できます、ありがとうございます。しかし、私はそれをカバーすることができる受け入れテスト(セレン)があるので、私はこの機能のためのAPIテストを作成しませんでした。 – skynyrd