1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

アーキテクチャテストAdvent Calendar 2020

Day 19

「参照系の操作はRepositoryではなくQueryServiceに依存する」ことをArchUnitでテストする

Posted at

「参照系の操作はRepositoryではなくQueryServiceに依存する」ことをテストしてみる。

テストコード


@AnalyzeClasses(packages = "com.example")
public class CommandQueryTest {

    @ArchTest
    static ArchRule get_endpoint_depend_on_query_service =
        classes().that().resideInAPackage("com.example.application")
            .should().onlyAccessClassesThat().resideInAPackage("com.example.queryservice");

特定の参照結果を得たいだけであればQueryServiceのクラスに依存していることをテストすることで判定できる。
他のクラスにも依存せざるを得ない場合は、個別に羅列するか、Repositoryクラスに依存しないことをテストすれば良い。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?