2011-04-04 31 views
0

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

我见过的所有单元测试的例子都是非常简单的方法。那么如何为现有的43参数方法编写单元测试,您需要重构而不会中断?

[编辑] 该方法是由一个网页报告使用有43个输入,尽管它是坏的,有一些原因。我必须从后面的ASP.NET代码和Web控件中提取报告的逻辑,因为它需要被用作我为其他东西写的单元测试的接受标准。

回答

0

我希望你夸大说43个参数的方法乳清!如果不是的话,那只是错误的,而且这将是我开始重构的第一件事情。

你可以随时测试真正重要的是什么。在你的情况下,你应该已经创建了一个失败的单元测试,然后再进行实际的重构。首先,确保存在错误,一旦错误得到解决,将确保它正在工作,并且如果进一步重构,它将保持这种状态。