ユニットテストをフレームワークに組み込むか、testsという名前の新しいフォルダを作成し、必要なすべてのクラスと単体テストをそれぞれ含めますか?
必ず別のフォルダを作成してください。テストで生産コードを混乱させることは、パフォーマンスやデバッグ上の理由から一般的には好ましくありません。
モデルをテストするために、フレームワークの一部を単体テストに含めるべきですか?
単体テストには依存性がほとんどない必要があります。 A
クラスがB
に依存する場合、B
が失敗した場合、A
も失敗しないように、B
をモックしてください。
ユニットテストの主な利点(正しく実行された場合)は、問題を簡単に特定できることです。 A
がB
の依存関係のために失敗した場合、最初にA
,、次にB
を見ます。繰り返しますが、B
がC
に、C
が失敗した場合は、A
,B
、、C
の順に調べる必要があります。これは単体テストの大きな利点の1つです。すべてのテストが正常に実行された場合、C
のエラーはC
以外の場所では失敗しません。そのため、問題を解決するために検索する単一のクラスがあります。本当にあなたのコードのエラープルーフを作るために
、あなたがPHP assertionsと一緒にユニットテストを使用することができます。
$return = $this->addOne($some_param);
assert('$return == $some_param + 1');
ところででユニットテストとは反対に、MVCテストユニットの間に違いはありません一般的です。