不知何故,我开始在 PHPUnit 的进度条内得到一个带有 4 个空格的点,但我不明白如何将其恢复正常。它只是 PHPUnit,其他 shell 脚本运行正常。看起来像这样
. . . . . . . . . [...] 100 / 100 (100%)
问题不仅在于本地机器,因为当我在其他机器上运行测试时,它还会生成相同的进度条,进度点之间有空格。
也许有人知道在哪里修复它。
一些背景信息(但由于我在两种不同的配置上得到相同的空间,它与文件/phpunit 而不是开发环境有关):
- PHP 框架 Laravel 4.0-dev
- 测试框1:MacOSX 10.9,PHPUnit 3.7.28,PHP版本5.4.17
- 测试框2:Ubuntu 13.04、PHPUnit 3.7.21、PHP 5.4.9-4ubuntu2.2
- 两个盒子 env LANG: en_US.UTF-8
- 两个盒子 env LC_CTYPE: UTF-8
- 源文件、测试文件和 phpunit.xml 的编码 - UTF-8
- 启动测试的命令:
~/> php ../bin/phpunit.phar -c phpunit.xml
phpunit.xml:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="bootstrap/autoload.php" processIsolation="false">
<testsuites>
<testsuite name="Application Test Suite">
<directory>./app/tests/</directory>
</testsuite>
</testsuites>
</phpunit>
吓坏了。它的 UTF-8 无处不在,PHPUnit 没有进度条的配置。怎么了。
编辑/解决方案:
感谢@Sven 的提示。逐步调试测试有所帮助 - 我在作为 ::setUp() 的一部分包含的 db mock 配置文件的开头有蹩脚的 \t char。为了证明自己的合理性,我只希望其他人会通过谷歌到达这里并发现这个烦人但棘手的问题很有用。