我昨天组织了一个类来完成一些有用的任务。我开始了 alpha 测试,并在某个时候意识到我正在向类本身添加 alpha 测试相关方法。我突然意识到他们不属于那里。经过一番摸索之后,我从基类派生了一个测试类,它也可以访问 protected 成员。我将所有与测试相关的方法放在测试类中,并在测试类中进行设置和拆除,并保留了基类,如俗话所说的那样精简。
在这里浏览了一段时间后,我发现一条评论建议通过使测试类成为真实类的 friend 来使用这种技术。
回想起来,这两种技术对我来说应该是显而易见的。
我正在寻找的是专门用于 alpha 测试/单元测试类的技术,而不增加被测试类的权重。
您个人使用过哪些技术并推荐?
最佳答案
单元测试的目标之一是验证类的接口(interface)。这意味着,一般来说,你不应该测试你类(class)的脏东西。单元测试应该与类的公共(public)输入和输出交互,并验证行为是否符合预期。因此,您可以更改类的内部实现,而不会影响依赖它的所有其他对象。显然,我不知道你所处情况的细节,但我会说,作为一般规则,如果你的单元测试试图找出类的私有(private)细节,那你就做错了。
编辑:另见:This SO question .请注意,它可以完成(最佳答案),但也要注意第二名的答案(略微领先)与我上面提到的大致相同。
关于c++ - 测试类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/342037/