【发布时间】:2010-09-21 00:01:57
【问题描述】:
使用标准 Ruby Test::Unit 框架在 Ruby 中对受保护方法和私有方法进行单元测试的最佳方法是什么?
我敢肯定,有人会直言不讳地断言“你应该只对公共方法进行单元测试;如果它需要单元测试,它不应该是受保护的或私有的方法”,但我对辩论那个。我有几个受保护或私有的方法,出于充分和正当的理由,这些私有/受保护的方法相当复杂,并且类中的公共方法依赖于这些受保护/私有方法的正常运行,因此我需要一种方法来测试受保护/私有方法。
还有一件事...我通常将给定类的所有方法放在一个文件中,并将该类的单元测试放在另一个文件中。理想情况下,我希望将这种“受保护和私有方法的单元测试”功能实现到单元测试文件中,而不是主源文件中,以使主源文件尽可能简单明了。
【问题讨论】:
标签: ruby unit-testing private protected