好的,也许我没有做到这一点。我是单元测试的新手。 但我想测试这样的东西:
我有一个动作,显示当天用户要做的门票。 我想做出断言,检查是否: 如果有0票,则消息显示“今天没有票”,如果有> 0票比系统显示表。 我知道如何检查视图是呈现消息还是呈现表格,但是如何在测试中创建“if”?类似的东西:
<code>
if(count($tickets > 0) {
$this->assertQuery('table');
} else {
$this->assertQueryContentContains('#message', 'No tickets for today');
}
</code>
我不知道如何制作一个stubb数据或从行动中获取某个变量的值。
答案 0 :(得分:2)
单元测试中不应该有任何逻辑。单元测试中的逻辑问题在于它通常反映了经过测试的代码片段的逻辑,这几乎毁掉了单元测试的目的。
相反,您希望为每个测试模拟条件(在您的情况下,您至少需要两个)并验证是否满足测试期望。除非$tickets
检索是复杂的过程(然后应该进行模拟),否则在您的情况下模拟条件只需将$tickets
设置为适当的值。