php - 如何为 PHP_Codesniffer 标准创建 PHP-UnitTest 案例?`

标签 php phpunit codesniffer

我已经创建了自己的 codesniffer 规则标准。它们运行良好。现在我想使用 PHP UnitTest 测试 codesniffer 规则。 PhpCodesniffer 已经有了他们的 PHPUnit 测试用例框架。

因此,我使用它扩展了他们的 AbstractSniffUnitTest 和 location 的单元测试类 Standards/TestRules/Tests/Function/FunctionUnitTest.php 和要测试的脚本保存在Standards/TestRules/Tests/Function/FunctionUnitTest.inc

但是当我要通过命令 phpunit PEAR\PHP\tests\AllTests.php 运行脚本时,它给出了以下错误。

PHPUnit 3.5.14 by Sebastian Bergmann.

......................................F

Time: 6 seconds, Memory: 10.00Mb

There was 1 failure:

1) TestRules_Tests_Function_FunctionUnitTest::getErrorList
An unexpected exception has been caught: Source file C:/Program Files/PHP/PEAR/PHP/CodeSniffer/Standards/TestRules/Tests/Function/FunctionUnitTest.inc does not exist

C:\Program Files\PHP\PEAR\PHP\tests\Standards\AbstractSniffUnitTest.php:138
C:\Program Files\PHP\PEAR\PHP\tests\TestSuite.php:48

FAILURES!
Tests: 39, Assertions: 146, Failures: 1.

Warning: Deprecated PHPUnit features are being used 2 times!
Use --verbose for more information.

它给出错误文件 FunctionUnitTest.inc not found at given location。我已授予文件夹的完全权限,还验证了路径和文件位置,但它给出了同样的错误。我也在 linux 机器上测试过它,但它给出了同样的错误。

这是我的代码问题还是 codesniffer 单元测试框架问题?

最佳答案

您的文件是否在顶级 testsCodeSniffer 目录中?请注意,您要扩展的抽象测试用例位于 tests

C:\Program Files\PHP\PEAR\PHP\tests\Standards\AbstractSniffUnitTest.php

但正在尝试包含来自 CodeSniffer 的文件:

C:/Program Files/PHP/PEAR/PHP/CodeSniffer/Standards/TestRules/Tests/Function/FunctionUnitTest.inc

尝试将您的两个文件移动到另一个目录。

关于php - 如何为 PHP_Codesniffer 标准创建 PHP-UnitTest 案例?`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6438436/

相关文章:

php - 从手机到网站的客户端/服务器安全

phpexcel 日期读取格式错误

在 codeigniter 中的模型内加载模型时出现 PHP "out of memory"错误

php - phpunit 中未定义的 action()

testing - PHPUnit 平面 XML 数据集中的数组

php - Laravel 5.2.x 禁用特定的中间件

PHPUnit 测试写入文件的函数并将内容检查到创建的文件中

php - 如何忽略行长 PHP_CodeSniffer

zend-framework - Netbeans 中的 Zend 编码标准