如何设置或构建PHP单元测试

时间:2009-10-02 01:52:48

标签: php testing phpunit

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。

由于

1 个答案:

答案 0 :(得分:26)

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

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));
 }
}