Alf*_*avo 2 tdd vba unit-testing rubberduck
我在这个答案中看到,对于Java,您可以在单元测试中将私有方法的可见性设置为"true",以便测试该方法.有没有这样的东西可用于VBA,所以我可以使用RD-VBA对私有方法进行单元测试?
如果没有,并且我有一个类在三个私有方法中计算出一些逻辑并将其返回给返回值,我注定只给出一个输入值并测试返回值,而不能测试三个私有方法在两者之间做升降机吗?
无论语言如何,您都不需要为私有方法编写测试.您测试您的公共API,私有的是不相关的实现细节.
如果是相关的,足够重要的是要对自己进行测试,那么你应该提取到另一个类的私有方法,并将其作为该类的公有成员.
例如,一旦我有一个表单,我想将文本框中的用户输入限制为数字字符,并且由于我在其他地方重用该逻辑,而不是将其视为我的表单的实现细节,我提取了一个AsciiInputValidator
类,并且公共IsValidNumericValue
方法可以作为自己的SUT以各种可能的方式进行测试.
不要测试私有方法:公共方法无论如何都会调用它们.
不幸的是,Extract Class重构功能在撰写本文时尚未实现,所以现在Rubberduck无法为您自动执行此操作...但它肯定是在范围内,如果您正在阅读此内容并且您已经有点了一个C#元编程挑战,去吧,拉请求总是受欢迎的!
归档时间: |
|
查看次数: |
88 次 |
最近记录: |