我很想知道我们如何在纯 PHP 中使用单元测试来测试我们的代码。
这是他们的任何指导方针。
以及当我们使用 MVC 架构创建网站时如何进行单元测试。
您可以在没有任何框架的情况下编写单元测试,但是您会发现您自己编写了很多可以从PHPUnit或EnhancePHP免费获得的概念。
特别是,该框架将具有允许您断言测试的助手,为您提供在测试中使用的假冒的助手(如果您使用 MVC 模式,则在您的情况下特别有用)以及运行和显示结果的方法。
如果您查看单元测试框架的源代码,您会看到所有这些帮助程序是如何工作的,并且最终学习框架比编写框架要快。
这是一个手动测试的示例 - 如果结果不正确或出现异常,我们将无法通过测试:
$passed = true;
try {
$result = $target->addTwoNumbers(5, 2);
$passed = 7 === $result;
} catch (Exception $e) {
$passed = false;
}
return $passed;
当您使用框架时,这变得更具可读性:
$result = $target->addTwoNumbers(5, 2);
Assert::areIdentical(7, $result);
在这两个示例中,我都省略了设置测试的代码,即创建$target
,因为它不会为比较添加任何意义。
还有 SimpleTest ( http://www.simpletest.org/ ) - 这是一个非常轻的。没有许多其他测试套件的包袱。
您还可以使用自动化工具,例如 Selenium,它本质上也模仿了用户坐着用鼠标浏览 - 显然您必须训练它并分配测试等。