VS 2010允许进行私有方法单元测试。这是一个好主意吗?我一直听说单元测试场景仅适用于公共方法。我应该关注私有方法和属性吗?
谢谢 Leo
VS 2010允许进行私有方法单元测试。这是一个好主意吗?我一直听说单元测试场景仅适用于公共方法。我应该关注私有方法和属性吗?
谢谢 Leo
不测试私有方法的两个原因:
1) 脆弱的测试。私有方法是一个实现细节,你可能会在将来更改它而不会破坏测试。
2) 重复。私有方法中的代码应该由使用其公共接口进行对象测试的测试覆盖。如果这样的话,你只是在测试同样的东西两次。
虽然测试所有私有方法/属性也是不错的,但真正重要的是你的公共方法/属性(即你向外界公开的内容)。最终,你的私有方法/属性会被公共方法/属性间接使用。
如果你想单独测试私有方法/属性,那就测试它们。但由于它们不会直接使用(而是间接使用),我认为这并非绝对必要。