【发布时间】:2015-07-14 11:56:42
【问题描述】:
我不想写长文,因为这是一个简短的问题。 PHPUnit 测试包含几个静态方法。例如所有\PHPUnit\Framework\Assert::assert*() methods 以及identicalTo、equalTo。
我的 IDE(带有 IntelliSense/autocompletion)不接受带有 $this 的调用,而是带有 self.我了解到静态函数应该通过类调用,而不是对象,所以self。
什么更正确?
$this->assertTrue('test');
或
self::assertTrue('test');
?
(如果“$this”更正确,您能指出为什么我们不应该使用“self”吗?)
【问题讨论】:
-
这是个好问题。我也不完全理解为什么方法是静态的,但是我看到的所有代码都使用 $this 而不是 self。
标签: php unit-testing oop phpunit self