2010-09-15 60 views
1

我有一个相当长的方法。它复制所有关系的ActiveRecord对象,并在某些情况下更改关系。为了使代码更具可读性,我使用私有方法。我想测试它们。 Technicaly,在Ruby中没有问题,但我怀疑,我的设计不好。你有什么建议如何处理这种情况?很长的方法和测试私有方法 - 设计问题

回答

4

一派思想是,每一个重要的私有方法都应该通过测试一个类的公共接口来隐式测试。如果一个私有方法没有通过公共接口被调用,那么它是多余的。如果你的私有方法很复杂,需要进行自己的测试,你应该考虑把它放在一个自己的类中,然后测试这个类。

总之,它不应该是明确地测试你的私有方法的必要条件。

俗话说:“不要碰你的私处。”

+1

你说过这一切只是为了让你可以在最后做这个笑话... – 2010-09-15 08:28:12

+0

谁说这是一个笑话? 2010-09-15 09:04:44