我的班级有30个属性,单元测试是痛苦的吗?

mrb*_*lah 2 c# nunit unit-testing moq

我的班级有30-40个属性,我真的想进行单元测试.

但我必须创建一个moq实例(其中许多实例,具有不同的组合等).

有一个简单的方法吗?这是真正的工作!

我的课不能重构,"相信我"(呵呵,不,它不能,它们只是非常紧密耦合的对象的属性).

Kal*_*see 15

听起来你需要做一些重大的重构.我首先要仔细研究单一责任原则,并制定只有一个改变理由的课程.一旦你将功能分解成只处理1个责任的单独的类,你就可以开始为这些类编写测试,并且它们不应该使用一个完整的模拟对象.

这是测试驱动开发的优势 - 您会立即遇到由大型类引起的问题,如果您希望能够编写测试,则可以避免它们.

  • @AndréPena:我也认为需要进行一些重大的重构. (2认同)

duf*_*ymo 6

就个人而言,我认为你不需要尝试每一个组合来测试你的课程.

你提到很多关于属性,但很少有关于行为.测试不应该是关于行为而不是状态吗?