はじめまして。th1209と申します。
テラテイルではじめて質問させていただきます。
現在Php/PhpUnitを使った開発に携わっており、
テストが書けないケースに直面し、困っております。
色々調べてはみたのですが、どうも解決策が見つかりませんでした。
(PhpUnitでは実現不可能かも><)
テストに詳しい方、どなたかご教授いただけませんか?
困っている問題、聞きたいこと、サンプルコードは以下になります。
どうか宜しくお願いしますm(_ _)m
問題点
あるサブクラスのテストコードを書いています。
サブクラスのメソッド内で、親クラスのメソッドを呼んでいます。
この親メソッドが問題で、内部で他APIとの通信を行っています。
そのため、テストケースを記載することが困難な状態です...。
教えて欲しいこと
以下のようなサンプルコードがあった際、テストの時だけ親クラスのメソッドを差し替える方法。
PhpUnitを使って開発しているので、PhpUnitでの解決策を教えて欲しいです。
※「PHPUnit以外に、こんなテストフレームワークを使えば実現できる」とか、
「そもそもテストしやすいよう、XXXな設計にすべき」という回答も大歓迎です!
php
1<?php 2class SampleSubClass extends SampleClass{} 3 4 public function sampleMethod() 5 { 6 7 //この親メソッドに悩まされている... 8 //内部で、がっつり他APIとの通信処理が行われている 9 $ret = parent::sampleMethod(); 10 11 //戻り値に応じて処理を切り替える。 12 //サブクラスのテストで見たいのは、あくまでここだけ。 13 if ($ret) { 14 //do something 15 }else{ 16 //do something 17 } 18 } 19} 20?>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/30 07:12 編集
2016/01/30 07:13
2016/01/31 17:02
2016/02/01 06:49
2016/02/01 09:52
2016/02/02 12:53
2016/02/02 13:06