【问题标题】:What should be unit tested when refactoring an existing report?重构现有报告时应该对哪些内容进行单元测试?
【发布时间】:2011-04-04 16:55:41
【问题描述】:

我重构了一些中间层报告,这些报告基本上是一种采用一堆参数的方法,从数据库中获取一些东西,然后返回结果集。该方法中的代码通常很简单,但我从不知道如何最好地为它们编写单元测试。如果一个方法有 43 个参数,那么它是否需要至少 43 次测试才能证明结果包含正确的内容?还有一个 43 表明它排除了正确的东西?我已经看到仅在使用两个特定参数时才存在的错误(例如根据名称和开始日期搜索用户)所以我应该测试每一对参数吗?似乎这些测试要么是无用的最小化,要么是无用的详尽。

我见过的所有单元测试示例都是针对非常简单的方法。那么如何为现有的 43 参数方法编写单元测试,需要在不中断的情况下进行重构呢?

[编辑] 该方法被一个有 43 个输入的网页报告使用,所以尽管它很糟糕,但它是有一些原因的。我必须从背后的 ASP.NET 代码和 Web 控件中提取报告的逻辑,因为它需要用作我正在为其他内容编写的某些单元测试的验收标准。

【问题讨论】:

    标签: unit-testing


    【解决方案1】:

    我希望你夸大其词说一个有 43 个参数的方法!如果没有,那就大错特错了,这将是我开始重构的第一件事。

    您始终可以测试对您来说真正重要的事情。在您的情况下,您应该在进行实际重构之前创建一个失败的单元测试。首先,它会确保存在错误,一旦错误得到解决,将确保它正常工作,并且在进一步重构出现时将保持这种状态。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-12
      • 2018-10-21
      相关资源
      最近更新 更多