TestInit.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Bear
  5. * Date: 2018/10/22
  6. * Time: 下午6:41
  7. */
  8. use PHPUnit\Framework\TestCase;
  9. use think\Hook;
  10. use think\Request;
  11. class TestInit extends TestCase
  12. {
  13. protected $module_name = 'admin';
  14. protected $params = [];
  15. /**
  16. * 模块初始化
  17. */
  18. public function setUp()
  19. {
  20. $request = Request::instance();
  21. $request->module($this->module_name);
  22. Hook::listen('module_init', $request);
  23. }
  24. /**
  25. * 若参数为空则退出此测试
  26. * @param $keys
  27. */
  28. public function checkParams($keys)
  29. {
  30. foreach ($keys as $key) {
  31. if (!array_key_exists($key, $this->params) || !$this->params[$key]) {
  32. echo "skipped for param $key\n";
  33. $this->markTestSkipped("param " . $key . ' is empty, skipped');
  34. }
  35. }
  36. }
  37. public function initEnv($name = '.env'){
  38. // 加载环境变量配置文件
  39. if (file_exists(ROOT_PATH . $name)) {
  40. $env = parse_ini_file(ROOT_PATH . $name, true);
  41. foreach ($env as $key => $val) {
  42. $name = ENV_PREFIX . strtoupper($key);
  43. if (is_array($val)) {
  44. foreach ($val as $k => $v) {
  45. $item = $name . '_' . strtoupper($k);
  46. putenv("$item=$v");
  47. }
  48. } else {
  49. putenv("$name=$val");
  50. }
  51. }
  52. }else{
  53. throw new \Exception("{$name} Not Find !!!");
  54. }
  55. }
  56. }