dqh*_*cks 9 php static phpunit
您可能知道,静态属性会使测试变得困难.有没有办法将特定类的所有静态属性重置回其初始状态?理想情况下,这不需要每个类的自定义代码,但可以通过继承或完全从类外部以一般方式使用.
请不要回复"不要使用静态属性"之类的内容.谢谢.
假设您正在使用PHPUnit:
请参阅有关全局状态的PHPUnit手册部分.如果您使用PHP 5.3或更高版本,则静态成员将受此限制.静态成员不是序列化的一部分(如果你想知道).
见以及@backupGlobals和@backupStaticAttributes
不。PHP 不保留该信息。
我正在摆弄ReflectionClass和::getDefaultProperties,::getStaticProperties但它们只返回当前状态。
您必须创建一个具有默认值的数组,然后手动遍历它们并重置您的类属性。