好吧,也许我没搞清楚。我是单元测试的新手。 但我想测试这样的东西:
我有一个操作,显示用户当天要执行的操作。 我想做出断言来检查是否: 如果有 0 张门票,则消息显示“今天没有门票”,如果有 > 0 张门票,则系统显示表格。 我知道如何检查 View 是否呈现消息或呈现表格,但如何在测试中创建“if”?像这样的东西:
<code>
if(count($tickets > 0) {
$this->assertQuery('table');
} else {
$this->assertQueryContentContains('#message', 'No tickets for today');
}
</code>
我不知道如何制作 stub 数据或从操作中获取某个变量的值。
最佳答案
单元测试中不应该有任何逻辑。单元测试中逻辑的问题在于它通常反射(reflect)了被测试代码段的逻辑,这几乎破坏了单元测试的目的。
相反,您希望为每个测试模拟条件(在您的情况下,您至少需要两个)并验证是否满足测试的期望。除非 $tickets
检索是复杂的过程(然后应该对其进行模拟),否则模拟您的情况下的条件只需将 $tickets
设置为适当的值即可。
关于php - 如何在 Zend Framework 中使用 PHPUnit 测试变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9253505/