【TP5.1】单元测试

author:咔咔

wechat:fangkangfk

 

文件我就放到资源里边了,需要的去下载https://download.csdn.net/download/fangkang7/10759068

 

 

创建test模块

并写index控制器

源码:

<?php
namespace app\test\controller;

use think\Controller;
use Request;

class Index extends Controller
{
    public function index(Request $request)
    {
        return view();
    }

    public function execute(Request $request)
    {
        $arr = $request::param();// 注意这里
        $namespace  = $arr['namespace'];
        $className  = $arr['className'];
        $action     = $arr['action'];
        $param      = $arr['param'];

        // 判断 命名空间写全了  类命名空间完善
        $class = ($className == "") ? $namespace : $namespace.'\\'.$className;

        // 要提换的值  需要的结果
        $class = str_replace("/", "\\", $class);
        // 创建需要测试的类
        $service = new $class();
        // 参数的解析
        $param = ($param == "") ? [] : explode('|', $param) ;
        // 执行测试类方法
        $data = call_user_func_array([$service, $action], $param);
        // 输出
        return (is_array($data)) ? json_encode($data) : var_dump($data);
    }
}

 前端代码:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <script type="text/javascript" src="__ADMIN__static/js/jquery.js"></script>
    <title>Document</title>
  </head>

  <body>
      <h1>不区分大小写</h1>
      <br>
      命名空间:<input type="text" value='' style="width:300px" id='namespace' placeholder="如:app\index\controller 或app\index\controller\Index">可以写全,然后下面类名不用些<br>
      类名:<input type="text" id='className' placeholder="如:index ">命名空间全可以不用写<br>
      测试方法名:<input type="text" id='action' placeholder="index"><br>
      传递参数以 | 分割:<input type="text" placeholder="如: 1|2|3" id='param'><br>
      <br>
      <input type="button" name="" value="测试" onclick="test()">
  </body>
  <script type="text/javascript">
    console.log(`{:URL('test/index/execute')}`);
      function test() {
          var namespace = $("#namespace").val();
          var className = $("#className").val();
          var action  = $("#action").val();
          var param   = $("#param").val();
          window.location.href = `{:url('test/index/execute')}?namespace=${namespace}&className=${className}&action=${action}&param=${param}`;
      }
  </script>
</html>

 

页面很是不漂亮,将就用,后边有时间了在写样式

我们就测试上一篇文章的模型关联预加载

文件我就放到资源里边了,需要的去下载https://download.csdn.net/download/fangkang7/10759068

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咔咔-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值