为了账号安全,请及时绑定邮箱和手机立即绑定

PHPUnit 测试位于特征中的静态函数

PHPUnit 测试位于特征中的静态函数

PHP
千万里不及你 2021-09-05 18:13:01
在一段遗留代码中,我的任务是在这样的特征中测试静态函数:namespace App\Model\SomeLogic;trait WhyDecidedToUseTrait{   public static function aMethodThatDoesSomeFancyStuff()   {     //Method Logic   }}并从使用该方法的这篇文档开始getMockForTrait。但是在我的情况下,为了测试静态函数而制作一个虚拟对象,其中对象瞬间是无用的,没有任何价值。同样在使用此特征的对象中测试方法似乎非常耗时,而且进行更大规模的重构也很耗时。那么我如何测试该特征以逐渐重构使用它的任何类?
查看完整描述

1 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

只需使用此特性创建一个 Dummy 类:


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

   }

}


因此您可以测试该方法,但在覆盖测试的情况下,我不知道何时显示或不显示。


查看完整回答
反对 回复 2021-09-05
  • 1 回答
  • 0 关注
  • 136 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信