- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何使用 PHPUnit 测试命令行程序?我看到很多关于从命令行使用 PHPUnit 的帮助,但没有看到使用 PHPUnit 测试命令行程序本身的帮助。
出现这种情况是因为我正在用 PHP 和 Joomla 编写命令行程序,但没有看到测试其输出的方法,尤其是在发生错误时(因为您无法使用 PHPUnit 的 expectOutputString() 测试错误输出)。
(编辑:请注意,我的大部分代码已经在 PHPUnit 测试的类中——我正在寻找一种方法来测试命令行(包装器)程序的逻辑。)
最佳答案
一种方法是使用反引号运算符 (`) 来捕获程序的输出,然后检查该输出。这在 Unix/Linux 风格的操作系统下运行良好,因为您还可以捕获错误输出,如 STDERR。 (在 Windows 下比较痛苦,但可以做到(尤其是使用 Cygwin)。)
例如:
public function testHelp()
{
$output = `./add-event --help 2>&1`;
$this->assertRegExp( '/^usage:/m', $output, 'no help message?' );
$this->assertRegExp( '/where:/m', $output, 'no help message?' );
$this->assertNotRegExp( '/where event types are:/m', $output, 'no help message?' );
}
关于php - 如何使用 PHPUnit 测试命令行程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17700653/
我开发了一个 Android 应用程序,允许实时跟踪用户在 map 上制作的类(class)(Google Map Android V2),我接下来要做的是在类(class)结束后我想给例如,用户有机
我一直在bing / google(布尔)搜索中,发现一些命中(主要是在stackoverflow上),并且尝试使用建议的解决方案没有任何运气。 我正在使用Java 8和DBUnit 2.5.1和my
我有一个String[][]。所以它基本上看起来像这样: { { "Dublin", "NYC"}, { "Moscow", "Los-Angeles"}, { "London", "Pa
我是一名优秀的程序员,十分优秀!