Java 单元测试代码重复测试,如何管理它们
我认为我正在以正确的方式使用TDD 我有一堂课,一堂课和一堂课。我需要类B与类A几乎相同,我的决定是使用抽象类-字母表,并将A和B的公用函数移动到该类。在那一刻,我没有测试字母表抽象类,因为我通过A类正确地测试了所有函数,并将它们提升为抽象类,所有函数都很好,并且以TDD方式工作。但在这一刻,我的测试不仅涵盖了ATest中的A部分功能,还涵盖了字母表的特定测试用例,我是否应该在B类、C、D等中复制这些用例Java 单元测试代码重复测试,如何管理它们,java,unit-testing,tdd,Java,Unit Testing,Tdd,我认为我正在以正确的方式使用TDD 我有一堂课,一堂课和一堂课。我需要类B与类A几乎相同,我的决定是使用抽象类-字母表,并将A和B的公用函数移动到该类。在那一刻,我没有测试字母表抽象类,因为我通过A类正确地测试了所有函数,并将它们提升为抽象类,所有函数都很好,并且以TDD方式工作。但在这一刻,我的测试不仅涵盖了ATest中的A部分功能,还涵盖了字母表的特定测试用例,我是否应该在B类、C、D等中复制这些用例 你认为我应该把测试用例放在哪里 您应该将涵盖Alphabet功能的测试移至alphabet
你认为我应该把测试用例放在哪里 您应该将涵盖
Alphabet
功能的测试移至alphabetest
类,并将其从ATest
中删除
我建议您在测试
字母表时,创建一个子项并覆盖所有抽象方法的虚拟功能。我的问题解决方案:实现一个扩展字母表的具体测试类。有了这个Testingclass,您现在可以编写测试了,该测试可以显式地测试抽象类一个提示:您的具体测试类应该只在您的测试包结构中可用
对于另一个类,如A,B等,您现在可以编写测试,测试A,B等的显式实现,并且您不必再显式测试abstractclass
致意
Andree将涵盖字母表
代码的测试移动到抽象类字母表
中
现在,ATest
,BTest
(等等)必须扩展alphabetest
运行测试,您将看到AlphabetTest
的测试针对ATest
,BTest
(等等)我需要与A类几乎相同的B类