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

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

内容简介:翻译自: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


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

查看所有标签

猜你喜欢:

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

Java Concurrency in Practice

Java Concurrency in Practice

Brian Goetz、Tim Peierls、Joshua Bloch、Joseph Bowbeer、David Holmes、Doug Lea / Addison-Wesley Professional / 2006-5-19 / USD 59.99

This book covers: Basic concepts of concurrency and thread safety Techniques for building and composing thread-safe classes Using the concurrency building blocks in java.util.concurrent Pe......一起来看看 《Java Concurrency in Practice》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

SHA 加密
SHA 加密

SHA 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具