私は一連のPHPunitテストを実行しており、100%カバレッジを報告しているコントローラを持っています。 しかし、カバレッジレポートでは、84行のコードのうち5行だけが「緑色」とマークされていますコントローラの100%カバレッジを示すコードカバレッジレポート
この問題の原因は何ですか?
面白い点があるのは、かもしれません。 '間接呼び出し'です。この特定のコントローラは他の多くのコントローラの親であり、多くの他のオブジェクトがそれを継承しているので、コードはどこか別の場所で呼び出されるかもしれませんが、その後は緑色に変わりませんか?
緑に変わる唯一の方法は、__construct
です。
これは実際には十分であるかどうかはわかりませんが、ユニットテストがどのようにカバレッジを決定するかについてもう少し知識があれば、聞いてみたいと思います。
編集のGauravさんのコメント `に応じて:
PHPUnitのコマンドラインはphpunit --configuration admin.xml
あるとadmin.xmlはjakenobleに対応して
<phpunit bootstrap="./admin/applications/admin/bootstrap.php" colors="true">
<testsuite name="AdminTestSuite">
<directory suffix=".php">./admin/applications/admin/</directory>
<directory suffix=".php">./admin/applications/shared/</directory>
</testsuite>
<filter>
<whitelist>
<directory suffix=".php">../admin/applications/admin/controllers</directory>
<directory suffix=".php">../admin/applications/shared/controllers</directory>
<directory suffix=".php">../admin/applications/shared/helpers</directory>
<directory suffix=".php">../admin/lib/controllers</directory>
<directory suffix=".php">../admin/lib/helpers</directory>
<directory suffix=".php">../admin/lib/models</directory>
<directory suffix=".php">../admin/lib/utils</directory>
</whitelist>
<blacklist>
<file>../dm_admin/applications/shared/controllers/DashboardController.php</file>
<directory suffix=".php">../admin/lib/crons</directory>
</blacklist>
</filter>
<logging>
<log type="coverage-html" target="/projects/ut/admin/" charset="UTF-8"
yui="true" highlight="true"
lowUpperBound="50" highLowerBound="80"/>
<log type="testdox-html" target="/projects/ut/admin/testdox.html" />
</logging>
</phpunit>
を読み取ります
ヘルパーです100%カバレッジを読み取る
しかし、我々は
を参照の内側には時折、緑...しかし、赤なしで、1099行のために行きます。
コードがどのように呼び出されたかは関係ありません。実行されている行があれば、それは緑色になります。あなたはどのようにphpunitコマンドを実行し、おそらくphpunit.xmlファイルコード – Gaurav
を元に追加したのか教えてください –
コードカバレッジのスクリーンショットを投稿できますか? –