- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
使用标量时:
$null = null;
$this->assertNull($null);
测试成功
$null = 'not null';
$this->assertNull($null);
测试失败
使用对象时:
$this->assertEquals(null, $menu->getChild('Projects'));
测试 OK 或 Fail 关于 $menu->getChild('Projects') 是否为空
$this->assertNull($menu->getChild('Projects'));
挂起,我得到错误:zend_mm_heap corrupted
当使用 AssertNull 时,我没有得到与 AssertEquals(null, $var) 相同的行为;目前,我禁止使用 AssertNull,但我想知道你们中是否有人可以解释发生了什么......
最佳答案
对象的类型:Knp\Menu\MenuItem(来自 knpmenu php 库的对象)
问题是与 phpunit 库中的函数相关联的递归问题。
类:PHPUnit/Util/Type
函数:递归导出
preg_match_all('/\n \[(\w+)\] => Array\s+\*RECURSION\*/', print_r($value, TRUE), $matches);
如您所见,子对象引用了父对象,这就是死锁的原因。
但是当我阅读print_r 的文档时,它指出:
Prior to PHP 4.0.4, print_r() will continue forever if given an array or object that contains a direct or indirect reference to itself. An example is print_r($GLOBALS) because $GLOBALS is itself a global variable that contains a reference to itself.
我正在使用:
PHPUnit 3.7.10 by Sebastian Bergmann.
PHP 5.4.7 (cli) (built: Sep 12 2012 23:48:31)
目前我的结论是不使用assertNull 但AssertEquals
关于phpunit assertNull 损坏了 zend_mm_heap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13764826/
我确定我测试的数组为空。即使执行 var_dump(array) 也会打印 array(0) { }。 但是测试 $this->assertNull($array); 失败。 相反,当我测试下面的代码
我确定我测试的数组是空的。即使执行 var_dump(array) 打印 array(0) { }。 但是测试 $this->assertNull($array); 失败了。 相反,当我测试下面的代码
JUnit 4教程 在这篇文章中,我们将通过一个例子演示如何使用Assert.assertNull()方法。查看JUnit 5教程和例子,请访问JUnit 5教程在JUnit 5中,所有JUnit 4
使用标量时: $null = null; $this->assertNull($null); 测试成功 $null = 'not null'; $this->assertNull($null); 测试
这是一个非常愚蠢的问题,但我是第一次进行单元测试,所以:假设我有一个像 obj 这样的对象变量,如果这个 obj 为 Null,我希望我的单元测试失败。所以对于断言,我应该说 AssertNull 还
在一些 JUnit 修复过程中,我发现了这行代码: Assert.assertNull(lAllEntryById.put(lEntry.getId(), lEntry)); 如果我检查 lAllEn
本文整理了Java中org.apache.commons.jcs.auxiliary.remote.ZombieRemoteCacheServiceUnitTest.assertNull()方法的一些
我是一名优秀的程序员,十分优秀!