2012-02-12 70 views
1

好的,也许我没有得到这个权利。我是单元测试新手。 但我想测试这样的事情:如何在Zend Framework中使用PHPUnit测试变量

我有一个行动,显示用户在当天做的门票。 我想作出断言,将检查是否: 如果有0票,那么消息说“今天没有票”,如果有>票票数超过系统显示表。 我知道如何检查视图是呈现消息还是呈现表格,但是如何在测试中创建“if”?是这样的:

<code> 
if(count($tickets > 0) { 
$this->assertQuery('table'); 
} else { 
$this->assertQueryContentContains('#message', 'No tickets for today'); 
} 
</code> 

我没有得到如何做一个stubb数据或从行动中获得某个变量的值。

+2

通常情况下,你会想要两个单独的测试:一个发现没有票和其他发现一些。设置假数据或模拟对象,以便您可以同时执行这两个操作。 – 2012-02-12 23:02:34

回答

2

你不应该在单元测试中有任何逻辑。单元测试中的逻辑问题是它通常反映了测试代码中的逻辑,这几乎杀死了单元测试的目的。

相反,你想模拟条件为每个测试(并在你的情况下,你至少需要两个),并验证是否符合测试的期望。除非$tickets检索是复杂的过程(它应该被嘲笑),模拟条件在你的情况下将简单地将$tickets设置为适当的值。

相关问题