测试类是否继承了特定的类ArchUnit



是否有方法测试类扩展特定类在ArchUnit测试?

我有三个类:

  1. ClassA
  2. 类b扩展了类a
  3. 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)

最新更新