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

Java 单元测试代码重复测试,如何管理它们,java,unit-testing,tdd,Java,Unit Testing,Tdd,我认为我正在以正确的方式使用TDD 我有一堂课,一堂课和一堂课。我需要类B与类A几乎相同,我的决定是使用抽象类-字母表,并将A和B的公用函数移动到该类。在那一刻,我没有测试字母表抽象类,因为我通过A类正确地测试了所有函数,并将它们提升为抽象类,所有函数都很好,并且以TDD方式工作。但在这一刻,我的测试不仅涵盖了ATest中的A部分功能,还涵盖了字母表的特定测试用例,我是否应该在B类、C、D等中复制这些用例 你认为我应该把测试用例放在哪里 您应该将涵盖Alphabet功能的测试移至alphabet

我认为我正在以正确的方式使用TDD

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


你认为我应该把测试用例放在哪里

您应该将涵盖
Alphabet
功能的测试移至
alphabetest
类,并将其从
ATest
中删除


我建议您在测试
字母表时,创建一个子项并覆盖所有抽象方法的虚拟功能。

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

对于另一个类,如AB等,您现在可以编写测试,测试AB等的显式实现,并且您不必再显式测试abstractclass

致意
Andree

将涵盖
字母表
代码的测试移动到抽象类
字母表

现在,
ATest
BTest
(等等)必须扩展
alphabetest


运行测试,您将看到
AlphabetTest
的测试针对
ATest
BTest
(等等)

我需要与A类几乎相同的B类