現在cakePHP3を使ってアプリケーションを作っています。
そのプロダクトコードをテストするのにPHPUnitを使っているのですが、PHP自体初心者のため毎回手探り状態です。
テストコードを書く上で質問があるのですが、
PHPUnitでメソッドを実行したかどうか確認するテストコードはどのように書けばいいでしょうか?
状況としては
Controllerクラスのテストをしようとしています。
そのindexアクションの中でgetHogeメソッドを呼んでいます。
getHogeメソッドのテスト自体は済んでいるので、
あとはindexアクションの中でgetHogeメソッドが呼ばれたこと(実行されたこと)を確認するテストコードを書きたいと思っています。
HogeController.php
PHP
1public function index() 2{ 3 $this->getHoge(); 4} 5 6public function getHoge() 7{ 8 echo "hoge"; 9}
そのようなテストコードの書き方について知っている方がいらっしゃいましたらお教えいただけると助かります。
よろしくお願い致します。
追記
以下サイトを参考にし、テストコードを書いたのですが、うまくいきませんでした。
http://qiita.com/kseta/items/64c65fa5379bd1921600
具体的に言うと、
「Fatal error:Call to undifined method 〜」と言われてしまい、
このサイトで言う「error()」がモックオブジェクトに定義されていませんよ。と怒られているようなのです。
実際現場では
require_once 'Sample.php';
としておらず、
テスト対象のクラスをインスタンス化してテストしているという違いはあるのですが、ほかは大体一緒です。
というよりそもそもメソッドを実行したかどうかを確認するテストは必要ありますでしょうか?
カバレッジ的には変わりないように思うので不要かもしれないと思ってもきました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/15 00:12