案例DEMO

下面提供一个完整的测试demo:
1、HTTP控制器文件\app\controller\Index.php

<?php
namespace app\controller;
use x\Controller;

/**
 * @Controller(prefix="")
*/
class Index extends Controller
{
	
	/**
	 * @TestCase(class="\other\testcase\index\test", title="用例一")
	 * @TestCase(class="\other\testcase\index\test", title="用例二")
	 * @TestCase(class="\other\testcase\index\test", title="用例三")
	 * @RequestMapping(route="/testcase", method="get", title="单元测试注解demo")
	 * @Ioc(class="\x\Db", name="Db")
	*/
	public function testcase() {
		$list = $this->Db->name('admin')->test('A1')->find();
		$this->Db->return();
		
		if ($list['name'] == '1') {
			return $this->fetch('使用测试用例');
		} else {
			return $this->fetch($list['name']);
		}
	}
}

2、单元测试文件\other\testcase\index\test.php

<?php
namespace other\testcase\index;
// 必须继承至单元测试抽象类
use \x\doc\lable\TestBasics;

class test extends TestBasics
{
	/**
	 * A1-数据库DB
	*/
	public $A1 = [
		'name' => '1',
	];

	// 返回请求数据结构
	public function getData() : array 
	{
		return [];
	} 

	// 返回请求头
	public function getHeaders() : array 
	{
		return [];
	}
}

这时候,我们在CMD命令行界面,输入php sw-x test http /testcase就能查看到对应的测试结果。
效果如下图:


而如果我们直接在浏览器中访问这个路由,则不受影响。