【发布时间】:2012-03-21 09:17:35
【问题描述】:
我有一个类,其方法名为DataIn(int InputID, string CSVValue),这是它的主要入口点。
此方法基于InputID 将CSV 值参数存储到相关List<string>'s 中。当InputID 与名为NoOfRows 的属性相同时,它会创建一个由所有其他属性组成的List<string>。然后它会检查这个最终的List<string> 的有效性,如果一切正常,它会将结果添加到HashSet<int> 作为检查重复项的快速方法。
我已将此逻辑分解为 3 种方法,因此 DataIn 调用 StoreData,当 DataIn = NoOfRows 中的 InputID 时,它调用 MergeData,后者调用 ValidateData。
我的问题是我应该将这些方法公开以单独测试它们,还是应该将它们保密并将数据传递给 DataIn,然后对合并数据 List<string> 和 HashSet<int> 进行断言。 DataIn 将是从类外部调用的方法,使其他方法公开仅用于单元测试。
我担心的是,如果我将其他方法公开并测试它们是否正常,那么我将无法测试 DataIn 是否按预期工作,或者如果我同时执行这两种方法,我最终会得到重复测试。
你有什么建议?
【问题讨论】:
标签: c# .net unit-testing tdd