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


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

查看所有标签

猜你喜欢:

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

疯传

疯传

乔纳·伯杰 (Jonah Berger) / 刘生敏、廖建桥 / 电子工业出版社 / 2014-1-1 / CNY 48.00

《疯传:让你的产品、思想、行为像病毒一样入侵》内容简介:是什么让事物变得流行?从买轿车、买衣服、吃三明治,到给孩子取名字,你是否知道为什么某些产品会大卖,某些故事被人们口口相传,某些电子邮件更易被转发,或者某些视频链接被疯狂地点击,某些谣言更具传播力,某些思想和行为像病毒一样入侵你的大脑……《疯传:让你的产品、思想、行为像病毒一样入侵》这本书将为你揭示这些口口相传和社会传播背后的科学秘密,并且告诉......一起来看看 《疯传》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具