内容简介:翻译自: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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Ajax模式与最佳实践
Christian Gross / 李锟、张祖良、蔡毅、赵泽欣 / 电子工业出版社 / 2007-3 / 49.80元
Ajax 正在将我们带入到下一代的网络应用中。 本书深入探讨了动态的网络应用,将Ajax和REST集成在一起作为单独的解决方案。一个很大的优势是,与Ajax相似,REST可以和现今存在的技术一起使用。现在上百万的客户端计算机都是基于Ajax的,上百万的服务器是基于REST的。 无论你是否已经开发过Ajax应用程序,这都是一本理想的书。因为这本书描述了各种各样的模式和最好的实践经验。通过此......一起来看看 《Ajax模式与最佳实践》 这本书的介绍吧!