为了提高代码质量,我决定尝试学习如何使用单元测试来测试代码,而不是使用平庸的测试解决方案。
我决定使用个人库的作曲器来安装 PHPUnit,这样就可以实现通用的数据库功能。起初我没有 PHPUnit 的配置文件,当我运行如下命令时:
$ phpunit tests/GeneralStringFunctions/GeneralStringFunctionsTest
请注意,这是一个终端命令,所以我没有包含 .php
扩展。上面提到的 GeneralStringFunctionsTest 实际上是一个 GeneralStringFunctionsTest.php
文件。
结果如我所料:
时间: 31毫秒,内存: 2.75兆
OK (1个测试,1个断言)
然后,我尝试使用配置文件自动加载测试套件,而不是每次都必须手动键入文件。我在根目录中创建了一个名为 phpunit.xml
的文件,并在该文件中输入以下内容: http://pastebin.com/0j0L4WBD:
<?xml version = "1.0" encoding="UTF-8" ?>
<phpunit>
<testsuites>
<testsuite name="Tests">
<directory>tests</directory>
</testsuite>
</testsuites>
</phpunit>
现在,当我运行命令时:
phpunit
我得到以下输出:
PHPUnit 4.5.0作者: Sebastian Bergmann 及其贡献者。
从/Users/muyiwa/Projects/DatabaseHelper/phPunit.xml 读取的配置
时间: 16毫秒,内存: 1.5兆
不执行测试!
如果有用的话,我的目录结构如下:
Src-顶级目录(包含所有源代码)
Test-顶级目录(所有测试的结构都与我的 Src文件夹相同)
作曲家第三方文件
我还有作曲家 json 和锁文件,以及顶层的 phPunit xml 文件作为文件。
phpunit.xml
中的目录更改为 tests/GeneralStringFunctions
phpunit.xml
中的目录更改为 ./tests
phpunit.xml
文件移动到 tests
目录,然后将目录更改为 ./
而不是 tests
。phpunit.xml
中的目录标记中,以指定“ Test”作为显式后缀。