13
class TestClass extends PHPUnit_Framework_TestCase {
 function testSomething() {
   $class = new Class();
   $this->assertTrue($class->someFunc(1));
 }

 function testSomethingAgain() {
  $class = new Class();
  $this->assertFalse($class->someFunc(0));
  }
}

嗨,我真的必须为我创建的每个测试函数创建 $class 吗?或者是否有一个未知的构造函数,比如我还没有发现的函数,因为构造函数似乎在 PHPUnit 中不起作用。

谢谢

4

1 回答 1

29

您可以将 setUp() 和 tearDown() 方法与私有或受保护变量一起使用。setUp() 在每个 testXxx() 方法之前调用,而 tearDown() 在之后调用。这为您提供了一个干净的状态来处理每个测试。

class TestClass extends PHPUnit_Framework_TestCase {
 private $myClass;

 public function setUp() {
   $this->myClass = new MyClass();
 }

 public function tearDown() {
   $this->myClass = null;
 }

 public function testSomething() {
   $this->assertTrue($this->myClass->someFunc(1));
 }

 public function testSomethingAgain() {
   $this->assertFalse($this->myClass->someFunc(0));
 }
}
于 2009-10-02T02:08:52.153 回答