在一段旧代码中,我受命测试具有如下特征的静态函数:
namespace App\Model\SomeLogic;
trait WhyDecidedToUseTrait
{
public static function aMethodThatDoesSomeFancyStuff()
{
//Method Logic
}
}
然后使用getMockForTrait
方法从这documentation段开始。但是,在我的情况下,为了测试静态函数(该对象从一开始就无用)开始,创建一个虚拟对象是没有价值的。
在具有此特征的对象中测试该方法似乎很耗时,而且进行大规模的重构也很耗时。
那么我如何测试该特征以逐步重构使用该特征的任何类?
答案 0 :(得分:0)
只需使用以下特征创建一个虚拟类:
namespace Tests\YourTeasts;
use PHPUnit\Framework\TestCase;
use App\Model\SomeLogic\WhyDecidedToUseTrait;
class Dummy
{
use WhyDecidedToUseTrait;
}
class StoreExtraAttributesTraitTest extends TestCase
{
public function setTheStaticMethod()
{
Dummy::aMethodThatDoesSomeFancyStuff();
//Assertions are done here
}
}
因此,您可以测试该方法,但是如果进行os coverage测试,我不知道何时显示该方法。