PHPUnit迫使我在断言实例之前要求类

栏目: PHP · 发布时间: 5年前

内容简介:翻译自:https://stackoverflow.com/questions/10420925/phpunit-forces-me-to-require-classes-before-asserting-instance-of

我正在测试一个返回另一个类的实例的对象.在内部,该类调用require_once.但是,当我尝试检查返回的对象是否属于该类型时,我收到以下消息:

InvalidArgumentException: Argument #1 of PHPUnit_Framework_Assert::assertInstanceOf() must be a class or interface name

在调用assertInstanceOf之前,我在测试中再次调用require_once时,此消息消失了.这似乎不对.似乎PHPUnit应该足够聪明,知道该类已经加载,所以我不应该再次加载它.我在想这个错吗?我的PHPUnit配置错了吗?有没有办法避免在我的测试中再次要求这门课程?

您的单位可能类似于:

$this->assertInstanceOf('MyOtherClass', 
    $this->object->someFunctionReturnsOtherClass());

这是好的,除了这里,注意:phpunit方法被称为BEFORE你的对象.既然你说过,你的对象已经在内部执行了require_once意味着在你的方法被调用之前,’MyOtherClass’仍然是一个未定义的类.这正是发生的事情. Phpunit函数准备使用’MyOtherClass’进行检查,发现它未定义!

对象自己的require_once甚至从未调用过.这就是为什么你以前必须自己打电话的原因.如果您使用类似于true == $returnObject instanceOf MyOtherClass的语句,它会返回相同的错误,因为在解析 PHP 时无法找到类定义.

翻译自:https://stackoverflow.com/questions/10420925/phpunit-forces-me-to-require-classes-before-asserting-instance-of


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Mechanics of Web Handling

The Mechanics of Web Handling

David R. Roisum

This unique book covers many aspects of web handling for manufacturing, converting, and printing. The book is applicable to any web including paper, film, foil, nonwovens, and textiles. The Mech......一起来看看 《The Mechanics of Web Handling》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

SHA 加密
SHA 加密

SHA 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器