ZF とテスト駆動型開発の両方に関心をお寄せいただきありがとうございます。どちらも学ぶべき素晴らしいことです。
テストを作成して、指定した状況でアプリケーションが正しく動作することを具体的に確認するときに問題が発生します。
単体テストは、通常、より小さなアトミックな動作を対象としています。アプリケーションがこのワークフローの必要なコンポーネントを実行することを確認するテストを作成する必要がありますが、それらをすべてまとめることは、実際には単体テストの範囲を超えています。
これを回避し、状態設計パターンを適切に実装することでテストを使用することができます。たとえば、モック ユーザーが購入したときに特定のモック アイテムが「ロック」状態にあるかどうかを判断します。もちろん、モデルに組み込まれたときにデータが本来あるべき動作をする安定したモック オブジェクトを作成することは、まったく別の問題です。
最後に、#3 は少し問題があります。これはテストするものではないからです。サーバーが容量を超えている場合、何をするつもりですか? サイトをシャットダウンしますか? テスト主導のアプローチは、キャパシティの問題と完全に両立しません。サイトの速度とメモリ消費量を積極的にプロファイリングし、実際のユーザーの行動を監視する必要があります。容量に近づいていることに気付いた場合は、ハードウェアまたはホスティングをアップグレードすることをお勧めします.