Yii:与PHPUnit 3.7签订合同进行设计
我正在使用yii框架和phpunit。我可以运行phpunit测试 但是我想在我的控制器中添加断言,就像上面描述的那样。我认为这个班Yii:与PHPUnit 3.7签订合同进行设计,php,yii,namespaces,phpunit,design-by-contract,Php,Yii,Namespaces,Phpunit,Design By Contract,我正在使用yii框架和phpunit。我可以运行phpunit测试 但是我想在我的控制器中添加断言,就像上面描述的那样。我认为这个班 BankAccount 这不是测试。因此,必须有一种方法在测试中不使用断言 如果我在控制器中调用这样的断言,这不是测试: PHPUnit_Framework_Assert::assertTrue(false); 我明白了 currentPath\PHPUnit_Framework_Assert.php): failed to open stream: No
BankAccount
这不是测试。因此,必须有一种方法在测试中不使用断言
如果我在控制器中调用这样的断言,这不是测试:
PHPUnit_Framework_Assert::assertTrue(false);
我明白了
currentPath\PHPUnit_Framework_Assert.php): failed to open stream: No such file or directory
该文件存在于my pear\phpunit目录中
那么,如何使用PHPUnit进行合同设计呢?
或者没有办法为合同设计添加这样的资产
Ps:我正在使用名称空间正是由于这样,我找到了解决问题的方法。
下面是在Yii控制器和助手类中启用PHPUnit的契约式设计断言的代码
spl_autoload_unregister(array('YiiBase','autoload'));
require_once('PHPUnit/Autoload.php');
spl_autoload_register(array('YiiBase','autoload'));
您能告诉我们您是如何进行测试的吗?《Yii明确指南》专门针对这一主题。嗨,我编辑了我的问题。但是我在命令行上执行单元测试。但是
PHPUnit\u Framework\u Assert::assertTrue(false)代码>不在我的单元测试中。它在我的一个控制器里。嗯,它本来就不属于那里。为什么?它支持合同式设计。啊,废话。我心烦意乱,像测试控制器那样退缩了。