我知道(并同意)将单元测试放在单独的程序集中的常见论点。但是,最近我遇到了一些我真的想测试私有方法的情况。所讨论的幕后逻辑非常复杂,以至于测试公共和内部接口并不能完全完成工作。对类的公共接口的测试感觉过度劳累,我看到一些针对私有的测试可以更简单有效地完成工作的地方。
protected
在过去,我通过制作我需要测试的东西,并创建一个我可以在测试框架中使用它的子类来解决这些情况。但这在应该是sealed
. 更不用说用所有的脚手架使测试框架膨胀了。
所以我正在考虑这样做:在课堂上放置一些测试,在那里他们可以得到私人成员。但是使用“#if DEBUG”将它们排除在生产代码之外。
这看起来是个好主意吗?