2009-10-02 65 views
10
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中工作。如何设置或构建一个PHP单元测试

感谢

回答

25

您可以使用设置()和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)); 
} 
}
+13

谢谢! needs15characterstocommentwtf – lemon 2009-10-02 02:16:54