skyzyx/examplify

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

通过允许您使用专门的注释标记行以跳过或交换,使您能够轻松地将测试作为使用示例重用。

1.1 2012-02-08 17:12 UTC

This package is auto-updated.

Last update: 2022-02-01 12:20:08 UTC


README

编写测试的目的应该是双重的:(a) 测试源代码,(b) 提供源代码的使用说明。从说明性视角编写的测试是教学和测试的好方法,但有时有些代码对于测试是必要的,但对于说明则不是。

Examplify! 通过允许您使用专门的注释标记行以跳过或交换,使您能够轻松地将测试作为使用示例重用。

  • 例子 |igˈzampəl| (动词) 被说明或举例说明: 同盟国海军支援的范围通过提供的导航专家得到说明。
  • 举例说明 |igˈzempləˌfī| (动词) 成为典型例子: 举例;通过举例说明。
  • 放大 |ˈampləˌfī| (动词) 在故事或声明中详细说明或增加细节: 注释放大声明中包含的信息。

是的,感叹号是名字的一部分。 :)

例子

使用此示例文件作为输入

<?php
use Skyzyx\Components\Examplify;

$file = file_get_contents('sample.php');
$example = new Examplify($file);
echo $example->output();

这将显示以下内容

// Instantiate object
$s3 = new AmazonS3();
$rfc2616 = $s3->util->konst($s3->util, 'DATE_FORMAT_RFC2616');

$version_id = (string) $s3->get_object('bucket', 'filename', array(
	'versionId' => 'abc999',
))->body->Versions->VersionId;

$version_id = (string) $s3->get_object('bucket', 'filename', array(
	'versionId' => 'abc123',
	'secret_code' => '123456'
))->body->Versions->VersionId;

$response = $s3->copy_object('bucket', 'filename', array(
	'fishsticks1' => 'true',
	'fishsticks2' => 'false'
));

$more_code = $s3->get_object('bucket', 'filename.ext');

语法

所有 Examplify! 注释都从 /*# (一个相当不常见但仍然完全有效的注释模式) 开始。

跳过

  • /*#skip*/ - 跳过此注释所在的整行。
  • /*#skip-start*/ - 跳过此注释所在的整行(例如,您可以将其放置在行的末尾),并继续跳过直到遇到 /*#skip-end*/
  • /*#skip-end*/ - 见上面。

交换

  • /*#swap:{"string" : "replacement"}*/ - 在给定行中将字符串与替换内容交换。在 swap: 后,您应该有一个有效的单层 JSON 对象。
  • /*#swap-start:{"string" : "replacement"}*/ - 在给定行中将字符串与替换内容交换,并继续在所有行中交换,直到遇到 /*#swap-end*/。在 swap-start: 后,您应该有一个有效的单层 JSON 对象。
  • /*#swap-end*/ - 见上面。

  • /*#block:["string1", "string2"]*/ - 阻止整个文档中包含指定字符串的所有行。

安装

从 GitHub 安装源代码

要安装源代码

git clone git://github.com/skyzyx/examplify.git

并将其包含在您的脚本中

require_once '/path/to/examplify/src/Examplify.php';

使用 Composer 安装

如果您使用 Composer 来管理依赖项,您可以通过它添加 Examplify。

{
	"require": {
		"skyzyx/examplify": ">=1.1"
	}
}

使用类加载器

如果您使用类加载器(例如,Symfony 类加载器

$loader->registerNamespace('Skyzyx\\Components\\Examplify', 'path/to/vendor/examplify/src');

测试

测试用例以 PHPT 格式编写。您可以使用 PEAR 测试运行器或 PHPUnit 3.6+ 运行它们。

cd tests/
pear run-tests .

...或者...

cd tests/
phpunit .

许可协议 & 版权

版权所有 (c) 2010-2012 Ryan Parman。许可协议下使用,许可协议为 MIT 许可协议