fw3_for_old/ez_test
Composer 安装命令:
composer require fw3_for_old/ez_test
包简介
Flywheel3 framework: Eazy Unit tset tool for old php versions
README 文档
README
Rapid Development FrameworkであるFlywheel3 の簡易Unit test ツールです。
対象バージョンおよび動作確認バージョン
対象バージョン:PHP5.3.3以降
動作確認バージョン
- 5.3.3
- 5.3.4
- 5.3.5
- 5.3.6
- 5.3.7
- 5.3.8
- 5.3.9
- 5.4.16
- 5.4.39
- 5.4.45
- 5.5.38
- 5.6.40
- 7.0.33
- 7.1.33
- 7.2.33
- 7.3.21
- 7.4.0
- 7.4.9
- 8.0.0
- 8.0.3
主な機能
TestRunner
Windows、Unix系OSを問わずに動作するPHPUnitに似たアサーションを持つUnitTest実行器です。
テストケース内のNGとなった行と行が含まれるメソッド名までを出力するため、NG発生時の追跡が用意になっています。
また、PHP5.3.0以降、少なくともPHP8.0.3までは確実に動作するため、PHPのVersion Upに伴う、事前・事後検証を簡単に行う事が出来ます。
実行後例(成功時)
================================================
fw3_for_old/ez_test.
target test cases => C:\Users\xxx\fw3-for-old\strings\tests
================================================
start time : 2021/04/01 00:07:34.7802
end time : 2021/04/01 00:07:34.8099
exec time : 0.029723882675171sec
================================================
================================================
test result: success (411 / 411)
------------------------------------------------
details
------------------------------------------------
test class:fw3_for_old\tests\strings\builder\modifys\datetime\DateModifierTest (6 / 6)
test class:fw3_for_old\tests\strings\builder\modifys\datetime\StrtotimeModifierTest (6 / 6)
test class:fw3_for_old\tests\strings\builder\modifys\security\EscapeModifierTest (6 / 6)
test class:fw3_for_old\tests\strings\cases\builder\StringBuilderTest (270 / 270)
test class:fw3_for_old\tests\strings\converter\ConvertTest (123 / 123)
================================================
================================================
test has been finished.
================================================
実行後例(失敗時)
================================================
fw3_for_old/ez_test.
target test cases => C:\Users\xxx\fw3-for-old\strings\tests
================================================
start time : 2021/04/01 00:31:52.6694
end time : 2021/04/01 00:31:52.6996
exec time : 0.030210971832275sec
================================================
================================================
test result: failed (410 / 411)
------------------------------------------------
details
------------------------------------------------
test class:fw3_for_old\tests\strings\builder\modifys\datetime\DateModifierTest (6 / 6)
test class:fw3_for_old\tests\strings\builder\modifys\datetime\StrtotimeModifierTest (6 / 6)
test class:fw3_for_old\tests\strings\builder\modifys\security\EscapeModifierTest (5 / 6)
fw3_for_old\tests\strings\builder\modifys\security\EscapeModifierTest->testModify() in line 39
expected: '<a href="#id" onclick="alert('alert');">'
actual: '<a href="#id" onclick="alert('alert');">'
test class:fw3_for_old\tests\strings\cases\builder\StringBuilderTest (270 / 270)
test class:fw3_for_old\tests\strings\converter\ConvertTest (123 / 123)
================================================
================================================
test has been finished.
================================================
使い方
1 . インストール
composerを使用できる環境の場合
次のコマンドを実行し、インストールしてください。
composer require fw3_for_old/ez_test
composerを使用できない環境の場合
Download ZIPよりzipファイルをダウンロードし、任意のディレクトリにコピーしてください。
使用対象となる処理より前にrequire_once sprintf('%s/src/ez_test_require_once.php', $path_to_copy_dir);としてsrc/ez_test_require_once.phpを読み込むようにしてください。
2 . テストの作成と実施
- 次の構造のディレクトリツリーとなっている前提で解説します。
この構造のうち、composer.jsonが置いてあるディレクトリをカレントディレクトリとします。
実用にあたっては適宜読み替えてください。
composer.json
vendor/fw3_for_old/ez_test/src/ez_test_require_once.php
vendor/fw3_for_old/ez_test/src/TestRunner.php
vendor/fw3_for_old/ez_test/src/test_unit
vendor/fw3_for_old/ez_test/src/test_unit/AbstractTest.php
vendor/fw3_for_old/ez_test/src/test_unit/TestInterface.php
併せて次のディレクトリを作成してください。
tests/cases
testsディレクトリにブートストラップファイルを作成します。
次の内容でrun_test.phpとしてファイルを作成してください。
composerを使用できる環境の場合
<?php
namespace fw3_for_old\ez_test;
require_once sprintf('%s/vendor/autoload.php', dirname(__DIR__));
TestRunner::factory()->run();
composerを使用できない環境の場合
<?php
namespace fw3_for_old\ez_test;
require_once sprintf('%s/vendor/fw3_for_old/ez_test/src/ez_test_require_once.php', dirname(__DIR__));
TestRunner::factory()->run();
tests/casesディレクトリにテストケースを作成します。
tests/casesディレクトリの中に\fw3_for_old\test_unit\AbstractTestを継承したクラスを作成してください。
その際、テストケースとテストクラス名は同一にしてください。
テストクラスは末尾がTestである必要があります。
併せてテストクラスの中にテストメソッドを記述してください。
テストメソッドはtestから始まるメソッド名である必要があります。
例
<?php
class EzTestToolTest extends \fw3_for_old\ez_test\test_unit\AbstractTest
{
/**
* このクラスでテストを始める前に呼ばれるメソッド
*/
public function setUp()
{
}
/**
* このクラスでテストが終わった後に呼ばれるメソッド
*/
public function tearDown()
{
}
/**
* 各テストメソッドが実行される前に呼ばれるメソッド
*/
public function init()
{
}
/**
* 各テストメソッドが実行された後に呼ばれるメソッド
*/
public function cleanUp()
{
}
/**
* テストメソッド
*
* `test`から始まるメソッドはテストメソッドとして自動実行されます
*/
public function testBuild()
{
$this->assertSame(1, 1); // assertから始まるメソッドがアサーション用メソッドです
}
}
tests/cases以下にディレクトリはあってもなくても構いません。
fw3_for_old/ez_testはデフォルトではTestRunner::factory()->run();があるファイルと同じディレクトリの中からテスト対象を発見しようとします。
対象となるディレクトリは次の優先度で決定します。
casesディレクトリcaseディレクトリTestRunner::factory()->run();があるディレクトリ
対象となるディレクトリを決定後、ファイル名およびクラス名の末尾がTestでかつ\fw3_for_old\ez_test\test_unit\TestInterfaceを実装したクラスを検出し、テスト対象として認識します。
- テストの実施
PHP CLIでブートストラップファイルを実行します。
例
php tests/run_test.php
これでテストの作成と実施は完了です。
3. 特殊な使い方
複数のディレクトリにあるテストを逐次実行させたい。
testCaseRootDirメソッドを用いて、テストケースがあるディレクトリパスを指定してください。
<?php
TestRunner::factory()->testCaseRootDir($path_to_test_cases_dir_1)->run();
TestRunner::factory()->testCaseRootDir($path_to_test_cases_dir_2)->run();
fw3_for_old/ez_test 适用场景与选型建议
fw3_for_old/ez_test 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 26.35k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2021 年 04 月 01 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「fw3 Flywheel3 stream filter library」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 fw3_for_old/ez_test 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 fw3_for_old/ez_test 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 fw3_for_old/ez_test 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Flywheel3 framework: Stream library
Flywheel3 framework: string processing library for old php versions
Flywheel3 framework: Stream library for old php versions
Flywheel3 framework: any building library for old php versions
Object-Oriented API for PHP streams
Safely namespaced guzzle psr7 for WP2Static
统计信息
- 总下载量: 26.35k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-04-01