squizlabs/php_codesniffer_tests

此包已被弃用且不再维护。作者建议使用chr0n1x/php_codesniffer_tests包代替。
此包的最新版本(2.0.0)没有可用的许可信息。

一个测试库,可以轻松地在自定义PHP_CodeSniffer规则集中使用

2.0.0 2015-03-10 23:20 UTC

This package is not auto-updated.

Last update: 2019-02-20 17:47:18 UTC


README

squizlabs/PHP_CodeSniffer的分支,但只是仅仅AbstractSniffUnitTest类。为什么?

  • 我不想丢失这个特定文件的所有git提交历史!
  • 现在在你的composer.json中,只需
"require": {
    "chr0n1x/php_codesniffer_tests": "1.0.0"
}

然后当你在单元测试中require(__DIR__.'/vendor/autoload.php');时,自动获得对AbstractSniffUnitTest的访问

  • 允许你使用phpunit xml配置文件并在本地测试,直接在你的标准仓库中
  • 易于CI集成。只需composer install && ${RUN_SUITE}
  • 希望能鼓励人们为他们自己的PHP_CodeSniffer sniffs编写测试!

此类与PHP_CodeSniffer中包含的类的区别

  • runTests()方法是公开的,并标记为PHPUnit测试(即:@test)。它还自动为每个嗅探器运行,即在测试时只测试一个嗅探器及其相应的.inc文件。合理吧?
  • TEST_PATH(必需)
    • 因为这个包可以通过composer安装,所以最好在某个地方定义,以确定测试的位置。此外,它也稍微清晰一些。
  • STANDARD_PATH(可选)
    • 这专门用于你尚未在phpcs实例中官方安装的标准。如果没有定义这个常量,类将使用原始方法 - 解析测试类名称并假设所有内容都在phpcs主目录中
  • TEST_EXT(可选)
    • 原始套件需要所有测试都必须是{$SNIFF_NAME}UnitTest.php。设置这个常量允许你完全覆盖UnitTest部分,给你在组织测试时提供一些灵活性。

所有这些常量都可以在需要composer引导的引导脚本中定义。例如

<?php
require_once( __DIR__ . '/../vendor/autoload.php' );
define( 'TEST_PATH', __DIR__ . '/Awesomeness' );
define( 'STANDARD_PATH', __DIR__ . '/../Awesomeness' );
define( 'TEST_EXT', 'SniffTest.php' );

根据你如何运行测试,在Suite脚本或phpunit.xml.dist中需要此引导脚本