【发布时间】:2011-08-20 00:32:29
【问题描述】:
所以,我有以下问题(使用 C#):
我在一个类中有两个私有字段,一个保存字段的原始状态,一个保存更新后的状态。
我现在想写一个基本上取原始状态的方法,将其复制到更新状态并更改其部分内容。
到目前为止,我已经将其实现为一个 void 方法,它只是更改字段的状态(如果需要)。这些字段稍后将被其他方法使用。
我认为我的实现不会有任何问题,但我正在尝试为此方法(使用 MSTest)编写单元测试,但看不到如何正确测试它。
我真正需要测试的是,在给定输入参数的情况下,字段的内容是否与其原始状态相比发生了变化。由于这两个字段都是私有的,我既不能访问原始状态来为单元测试设置值,也不能访问这些字段以用于任何断言的任何比较。
最简单的方法是使用公共属性公开所有这些字段,但除了单元测试之外,我真的没有使用公共属性。另一种方法是重写方法以返回更新后的状态,但这仍然无法帮助我将原始状态设置为测试所需的状态。
关于如何解决这个问题的任何想法或最佳实践?
【问题讨论】:
标签: c# unit-testing mstest