1

我们有一个规则,包“foo”不应该依赖包“bar”

noClasses()
                .that()
                .resideInAPackage("com.foo..")
                .should()
                .dependOnClassesThat(resideInAPackage("com.bar.."))
                .check(javaClasses);

我们在“foo”中有一个接口,通过两种方式使用“bar”,直接和通过泛型。

public interface IFoo {

    BarClass getBar();

    Optional<BarClass> getOptionalBar();

    List<BarClass> getListBar();
}

“BarClass getBar();” 被 ArchUnitTest 捕获,但“Optional getOptionalBar()”和“List getListBar()”在测试中没有给我们任何错误。有谁知道如何让他们也失败?

4

1 回答 1

0

ArchUnit 0.20.0引入了对通用返回类型的支持。在当前版本中,泛型方法返回类型的类型参数应自动​​被视为类依赖项。

于 2022-01-12T21:10:27.007 回答