单元测试代码重复测试,如何管理它们



考虑我以正确的方式使用TDD

我有一个A类A类。我需要与A类几乎相同的B类,我的决定是使用抽象类 -Alphabet,并将AB的公共函数移动到该类。在那一刻,我没有测试字母抽象类,因为我通过A类正确测试了所有函数并将它们提升为抽象,一切都很好并且以 TDD 方式工作。但是在这一刻,我的测试不仅涵盖了ATest中的部分功能,还涵盖了特定于Alphabet的测试用例,我应该在B类、C、D等中复制这些用例吗?

您认为我应该将该测试用例放在哪里?

我对你的问题的解决方案:你实现了一个具体的测试类来扩展你的字母表。有了这个测试类,现在你可以编写测试,测试显式地抽象类。一个提示:您的具体测试类应该只在您的测试包结构中可用。

对于你的其他类,如A、B 等,你现在可以编写测试,测试显式执行AB等,你不必再显式测试抽象类。

此致敬意 安德烈

您应该将涵盖Alphabet功能的测试移动到类AlphabetTest并将它们从ATest中删除。

我建议在测试Alphabet时创建一个子项并覆盖所有抽象方法虚拟功能。

将抽象类中涵盖Alphabet代码的测试AlphabetTest

现在,ATestBTest(等等)必须扩展AlphabetTest

运行测试,您将看到AlphabetTest的测试是为ATestBTest(等等)执行

最新更新