【问题标题】:How can I test variables using PHPUnit in Zend Framework如何在 Zend Framework 中使用 PHPUnit 测试变量
【发布时间】:2012-03-04 10:34:43
【问题描述】:

好的,也许我没有做对。我是单元测试的新手。 但我想测试这样的东西:

我有一个动作显示用户当天要做的票。 我想断言将检查是否: 如果有 0 张票,则消息显示“今天没有票”,如果票数大于 0,则系统显示表格。 我知道如何检查视图是否呈现消息或呈现表格,但如何在测试中制作“if”?比如:

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

我不知道如何制作存根数据或从操作中获取某个变量的值。

【问题讨论】:

  • 通常您需要两个单独的测试:一个找不到票证,另一个找到一些票证。设置假数据或模拟对象,以便两者兼得。

标签: php unit-testing zend-framework phpunit


【解决方案1】:

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

相反,您希望为每个测试模拟条件(在您的情况下,您至少需要两个)并验证是否满足测试的期望。除非$tickets 检索是复杂的过程(然后应该被模拟),否则模拟您的情况只需将$tickets 设置为适当的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-26
    • 2011-03-04
    • 1970-01-01
    • 2012-11-18
    • 2013-03-08
    • 2014-07-22
    • 2011-02-28
    相关资源
    最近更新 更多