【问题标题】:How to write unit test for getPopularItems()?如何为 getPopularItems() 编写单元测试?
【发布时间】:2011-11-20 06:52:27
【问题描述】:

Item可以被访问者查看,查看过的计数器会保存在数据库表中(例如Items表)。 所以getPopularItems()就是根据item的viewed counter来获取浏览次数最多的item。

问题是:

我应该在 getPopularItems() 的测试用例中检查什么

既然getPopularItems()是根据查看的计数器获取最多查看的项目,如果我再次使用这个方法在testGetPopularItems()中获取查看最多的项目并检查这两个集合(热门项目)是否相等,是不是重复?

欢迎提出任何建议。

【问题讨论】:

  • 您使用哪种编程语言?
  • 我用的是php和cakephp框架,单元测试框架是phpunit

标签: php unit-testing testing phpunit


【解决方案1】:

您可以测试getPopularItems() 只要没有查看任何项目就不会返回任何内容。

然后你可以测试它在查看一个项目时返回一些东西。

然后,在对大量项目进行大量访问后,您可以测试它是否返回该函数应返回的热门项目的最大数量(边界测试)。

只测试该函数内部的逻辑,不要测试两次运行相同的函数是否会返回相同的结果(即使代码中有错误也经常出现这种情况,因此您只测试函数是否执行,只需调用一次)。

【讨论】:

  • 非常感谢! (只需测试该函数内部的逻辑)
猜你喜欢
  • 2018-01-17
  • 2012-01-06
  • 2019-03-17
  • 2016-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多