我正在尝试测试我班级的构造函数。它只需要一个必须是字符串的参数。所以我写了这个测试:
class categoryTest extends PHPUnit_Framework_TestCase {
public function testConstructor() {
$this->setExpectedException('Exception', 'Unknown data type.');
$objCategory = new category(1);
$this->setExpectedException('Exception', 'Unknown data type.');
$objCategory = new category(-500);
$this->setExpectedException('Exception', 'Unknown data type.');
$objCategory = new category(true);
$this->setExpectedException('Exception', 'Unknown data type.');
$objCategory = new category(array());
...
}
public function testNextMethod() {
}
}
正如你所看到的,我希望每次都有同样的例外。
这看起来效果很好,但是在完成后脚本将跳转到testNextMethod()
$this->setExpectedException('Exception', 'Unknown data type.');
$objCategory = new category(1);
。我是否必须为每个测试编写一个自己的testMethod()?或者有解决方法吗?
祝你好运, 套筒
编辑:
Hello Cyprian,
非常感谢您的回复。我解决了这个问题:
class categoryTest extends PHPUnit_Framework_TestCase {
protected $backupGlobals = FALSE;
/**
*
* @dataProvider provider
*
**/
public function testMuff($strCategory) {
$this->setExpectedException('Exception', 'Unknown data type.');
$objCategory = new category($strCategory);
}
public function provider() {
$objHIS = new DDDBL('HIS');
return array(array(1),
array(-500),
array(true),
array(array()),
array($objHIS)
);
}
...
}
现在它完美无缺,即使我根本不喜欢这种符号。
答案 0 :(得分:1)