johnbillion/php-docs-standards

此包已被废弃且不再维护。未建议替代包。

用于测试PHP函数和方法的文档标准。

3.0.0 2021-11-01 16:57 UTC

This package is auto-updated.

Last update: 2022-01-05 16:56:02 UTC


README

License Build Status

PHP 文档标准测试

此抽象PHPUnit测试用例测试了PHP函数和方法的内联文档的标准和正确性。

测试了什么?

  • 注释块不应缺失。
  • 注释块描述不应为空。
  • @param 文档的数量应与参数的实际数量匹配。
  • 每个参数的 @param 描述不应为空。
  • 每个参数的 @param 名称应正确。
  • 每个参数的 @param 类型提示应正确。
  • 可选参数的 @param 描述应声明其为可选。
  • 必需参数的 @param 描述不应声明其为可选。
  • 适当的情况下,每个参数的 @param 描述应声明其默认值。

不测试类级别的注释块。

安装

要求

  • PHP 7 或 8
  • PHPUnit 7 或更高版本

使用Composer将包添加到项目的开发依赖项

composer require johnbillion/php-docs-standards --dev

在您的单元测试引导文件中,包含Composer自动加载器。这看起来可能像这样

require dirname( dirname( __DIR__ ) ) . '/vendor/autoload.php';

使用方法

将一个新的测试类添加到您的测试套件中,该类扩展了文档标准测试用例。需要实现的两个抽象方法是 getTestFunctions()getTestClasses()。这些方法分别返回要运行通过测试套件以测试其文档标准的函数名和类名数组。

函数和类必须在当前请求中加载(或可用来自动加载)。

<?php

class TestMyDocsStandards extends \Johnbillion\DocsStandards\TestCase {

	/**
	 * Return an array of function names that will be run through the test suite.
	 *
	 * @return array Function names to test.
	 */
	protected function getTestFunctions() {
		return array(
			'my_function_1',
			'my_function_2',
		);
	}

	/**
	 * Return an array of class names whose methods will be run through the test suite.
	 *
	 * @return array Class names to test.
	 */
	protected function getTestClasses() {
		return array(
			'My_Class_1',
			'My_Class_2',
		);
	}

}

为什么这是一个单元测试而不是嗅探器?

这最初是为了帮助WordPress文档团队提高文档标准而构建的,当时以单元测试的形式实现它对我来说是最快的方式。如果有人想要将其转换为嗅探器,它也可以是嗅探器。

许可:GPLv2或更高版本

本程序是自由软件;您可以根据自由软件基金会发布的GNU通用公共许可证的条款重新分发和/或修改它;许可证的第2版,或者(根据您的选择)任何更高版本。

本程序以希望它会有所帮助的方式分发,但没有任何保证;甚至没有关于其适销性或特定用途适用性的暗示保证。有关详细信息,请参阅GNU通用公共许可证。