AngularJS アプリケーションにフィードする php API があります。
私は、エンド ツー エンドのテストとバック エンドに関するベスト プラクティスを探し回っています。
angularアプリをテストするときにバックエンドアプリケーションをモックアウトするか、データベースにアクセスしてレコードを作成/更新/削除する必要がありますか?
私は両方の議論にメリットがあると思います。
あざけるのに良い
API をモックアウトすると、テストはより高速で信頼性が高くなり、制御可能な一貫した状態から開始されます。
うまくいかないことが少なくなります - 単純に可動部分が少なくなります。
API はコントラクトであるため、得られる応答に自信を持っている必要があり、応答は既知の要因であるため、問題なく嘲笑する必要があります。
あざけるのは悪いこと
API が更新されるたびに、モックを更新する必要があります。
モッキングは複雑で保守が困難なコードを大量に追加する可能性があります (ただし、これは当然の結論ではありません)。
API をヒットするメリット
テストでは、フロント JS クライアント側からサーバー側まで、アプリケーションの幅と深さをすべてテストします。
APIをヒットすることの悪い点
遅いテスト より多くのセットアップ (ローカルでテストする必要があるため、実行して DB をクリーンアップする必要があります) )
どちらに行こうかちょっと迷っています。
単体テストは依存関係を明らかにモックアップしますが、エンド ツー エンドは別の話です。
考え?