是否有方法测试类扩展特定类在ArchUnit测试?
我有三个类:
- ClassA
- 类b扩展了类a
- ClassC扩展了ClassB
我需要验证ClassC扩展了ClassA。下面的测试
ArchRuleDefinition.classes()
.that()
.haveSimpleName("ClassC")
.should()
.beAssignableTo("ClassA")
.check(classes);
失败,违例错误
Architecture Violation [Priority: MEDIUM] - Rule 'classes that have simple name 'ClassC' should be assignable to ClassA' was violated (1 times):
Class <ClassC> is not assignable to ClassA in ...
如果ClassA
在默认包中,则只能使用beAssignableTo("ClassA")
一般情况下,必须使用完全限定的类名,即ClassA.class.getName()
。
如果ClassA
在类路径上可用,我将使用beAssignableTo(ClassA.class)
。