如何用PHP编写单元测试?[已关闭]

2022-08-30 07:38:10

我到处都读过关于它们有多棒的文章,但由于某种原因,我似乎无法弄清楚我应该如何测试一些东西。有人可以发布一段示例代码以及他们将如何测试它吗?如果不是太麻烦,:)


答案 1

还有第三个“框架”,它更容易学习 - 甚至比简单测试更容易,它被称为phpt。

可以在这里找到引物:http://qa.php.net/write-test.php

编辑:刚刚看到您对示例代码的请求。

假设您在名为 lib 的文件中具有以下函数.php

<?php
function foo($bar)
{
  return $bar;
}
?>

非常简单明了,您传入的参数将被返回。因此,让我们看一下此函数的测试,我们将测试文件称为 foo.phpt

--TEST--
foo() function - A basic test to see if it works. :)
--FILE--
<?php
include 'lib.php'; // might need to adjust path if not in the same dir
$bar = 'Hello World';
var_dump(foo($bar));
?>
--EXPECT--
string(11) "Hello World"

简而言之,我们为参数提供值,并为函数调用提供响应。$bar"Hello World"var_dump()foo()

若要运行此测试,请使用:pear run-test path/to/foo.phpt

这需要在您的系统上工作安装PEAR,这在大多数情况下很常见。如果您需要安装它,我建议安装可用的最新版本。如果您需要帮助来设置它,请随时询问(但提供操作系统等)。


答案 2

有两个框架可用于单元测试。SimpletestPHPUnit,我更喜欢。阅读有关如何在 PHPUnit 主页上编写和运行测试的教程。这很容易,描述得很好。


推荐