我对 phpUnit 还是新手,无法使我的(非常简单的)测试工作。
<?php
use PHPUnit\Framework\TestCase;
class userTest extends TestCase {
public function testTrue() {
$this->assertTrue(true);
// This line wont work without autloader.php
$user = new User();
}
}
Run Code Online (Sandbox Code Playgroud)
问题是我需要从 autoloader.php 加载所有类:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="inc/autoload.php"></phpunit>
Run Code Online (Sandbox Code Playgroud)
但我在这些类中有很多 $SERVER 变量,比如
$_SERVER['REMOTE_ADDR']
$_SERVER['HTTPS']
$_SERVER['SERVER_NAME']
$_SERVER['DOCUMENT_ROOT']
$_SERVER['REQUEST_URI']
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
Notice: Undefined index: REMOTE_ADDR in /Applications/MAMP/htdocs/sakkadentrainer/classes/App.php on line 674
Run Code Online (Sandbox Code Playgroud)
我怎样才能让这些变量发挥作用?我更喜欢将它们“伪造”为 phpunit.xml 文件中的 env.variables,但我不知道这是否可能。
谢谢你的帮助!
我的设置:php 7.1.2、phpUnit 6.1.1、macOs Mojave、MAMP
参考文档,您可以设置 PHP INI 设置、常量和全局变量,例如:
<php>
<server name="REMOTE_ADDR" value="127.0.0.1"/>
</php>
Run Code Online (Sandbox Code Playgroud)
希望这有帮助
| 归档时间: |
|
| 查看次数: |
2157 次 |
| 最近记录: |