【发布时间】:2020-07-23 15:19:19
【问题描述】:
我正在处理一项任务,即公开具有给定 url 的 xml 文件。我想测试我的代码,我用 PHPUnit 来做这件事。我使用 composer 安装 PHPUnit。
我要运行的示例测试是这样的:
<?php
use PHPUnit\Framework\TestCase;
class IndexTest extends TestCase{
public function testGetXmlWithUrl(){
require 'index.php';
$XmlClass = new XmlReaderClass("localhost", "8000", "status.xml", "");
$url= $XmlClass->$url;
$myUrl = "http://localhost:8000/status.xml?password=";
$this->assertEquals($myUrl, $url);
}} ?>
无法添加TestCase 类。我的意思是即使 PhpUnit 名称在代码中也不是蓝色的。所以我想我实际上无法将它包含在我的项目中。错误是这样的:
致命错误:未捕获的错误:在 /Users/demetsen/Desktop/tests/IndexTest.php:4 中找不到类“PHPUnit\Framework\TestCase”
我的第二个问题是当我尝试运行 testGetXmlWithUrl() 方法时,结果是:
未能断言 SimpleXMLElement 对象 (...) 与预期的 '\n ....
匹配
为什么我会得到这个结果,我该如何解决?
【问题讨论】:
-
你好 Demet,你能告诉我们你是如何运行测试的吗?
-
嗨,我是这样运行的:phpunit tests/IndexTest.php
-
您从哪里调用 phpunit,该目录中是否有
phpunit.xml文件?如果有,可以在这里分享一下吗? -
我的项目中没有这样的 phpunit.xml 文件。我应该添加它。如果是这样,我该怎么做?谢谢。
-
你不需要 phpunit.xml。您是否从测试目录所在的目录运行此命令,而不是从测试目录?运行
cat tests/IndexTest.php而不是phpunit tests/IndexTest.php,你应该会看到这个测试文件的内容。如果你不路径是错误的。没有更多的步骤可以工作:phpunit.de/getting-started-with-phpunit.html