Heim  >  Artikel  >  Backend-Entwicklung  >  关于phpunit断言的有关问题

关于phpunit断言的有关问题

WBOY
WBOYOriginal
2016-06-13 12:12:541135Durchsuche

关于phpunit断言的问题
请问使用phpunit测试或其它框架进行测试,它们有好多断言方式,
但是如果测试人员全部用assertTrue 来实现断言会不会有什么后果?
我想测试还是能正常运行并判断出是否符合断言的
但影响的细节可能会出现在产生的报告里无法明确表达断言结果


比如要断言一个数组是否有ab键,则用
assertTrue(isset($arr['ab']))

但根据官方提供的断言方法应该用
assertArrayHasKey($arr['ab'])


下面是一些典型的例子:
assertTrue($x==1)
assertTrue(is_array($x))
assertTrue(empty($x));
assertTrue(is_object($x));
assertTrue(count($x) == 100);

$ids = getIds();
$flag = true;
foreach($ids as $id){
    if(!is_nmerical($id)){
        $flag = false;
    }
}
assertTrue($flag);
..........
.........



看着总感觉哪里不对劲,如果都能true解决看似没问题,然而实际上xUnit系统测试框架为何又提供了那么多的断言方法?
如果都用true来断言的后果是什么呢
------解决思路----------------------
为了更直观的看到是什么错误

来  上两张对比图  一张  全是true断言     你能快速定位那地方出问题了吗?


一张是各种形式的断言

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn