我应该测试公共内部类的公共方法吗?或者我应该测试外部类公共方法,它使用内部类(与测试私有方法相同的方法)?
答案 0 :(得分:3)
您需要测试从课堂外可以访问的所有内容。这包括内部类的公共方法(无论类本身是公共还是私有)。
如果您正在公开方法,则需要对其进行测试。
答案 1 :(得分:3)
如果外部类方法仅将调用委托给内部类1,则可以只测试其中一个。哪一个并不重要。在这种情况下,你可能想重新考虑你的设计 - 过度的委托意味着我的经验设计不好。
如果外部类方法除了调用内部类方法之外还执行其他重要操作,那么您应该像这样单独测试它们:
答案 2 :(得分:2)
没有“必需”。您需要进行合理的测试,但要关注功能测试,而不是线条覆盖:您的代码所做的一切都应该以某种方式进行测试。
如果内部类方法中存在任何业务逻辑,那么它可能有助于直接测试这些逻辑(并将内部转换为顶级类)。根据它的作用,测试外部可能就足够了,如果你这样做,你会在测试覆盖率中引入耦合,但由于类是一个内部类,所以耦合已经存在了。
答案 3 :(得分:0)
您应该测试您的课程是否满足他们的所有要求,无论这些要求是如何实施的。不要为每种方法编写测试;相反,根据已实施的要求,以及每个要求是否涵盖不同的案例,计算出您需要的测试。无论您是编写内部类,私有方法等都与测试过程无关。