代码之家  ›  专栏  ›  技术社区  ›  Luís Soares Cilan

ArchUnit:如何在Kotlin中测试构造函数中的私有参数?

  •  0
  • Luís Soares Cilan  · 技术社区  · 6 年前

    我有这门课:

    class CreateUser(private val userRepo: UserRepository) {
    
        fun execute(user: User) {
            userRepo.save(user)
        }
    }
    

    我有这个测试:

    @Test
    fun `private dependencies at constructors`() {
        constructors()
            .that().areDeclaredInClassesThat().resideInAPackage("users.usecases..")
            .should().haveModifier(JavaModifier.PRIVATE)
            .check(classes)
    }
    

    但它不起作用,因为我的目标是构造函数,而不是它们的参数。

    是否可以在Kotlin constructors中针对这些字段?我很乐意 强制执行 private 关键字用于标记所有构造函数参数 (在本例中,仅限userRepo)。

    0 回复  |  直到 6 年前