You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@Test
fun`every class has test`() {
Konsist
.scopeFromProduction()
.classes()
.assertTrue { it.hasTestClass() }
}
2. Every Class - Except Data And Value Class - Has Test
@Test
fun`every class - except data and value class - has test`() {
Konsist
.scopeFromProduction()
.classes()
.withoutModifier(KoModifier.DATA, KoModifier.VALUE)
.assertTrue { it.hasTestClass() }
}
3. Test Classes Should Have Test Subject Named Sut
@Test
fun`test classes should have test subject named sut`() {
Konsist
.scopeFromTest()
.classes()
.assertTrue {
val type = it.name.removeSuffix("Test")
val sut = it
.properties()
.firstOrNull { property -> property.name =="sut" }
sut !=null&& (sut.type?.name == type || sut.text.contains("$type("))
}
}
4. Test Classes Should Have All Members Private Besides Tests
@Test
fun`test classes should have all members private besides tests`() {
Konsist
.scopeFromTest()
.classes()
.declarations()
.filterIsInstance<KoAnnotationProvider>()
.withoutAnnotationOf(Test::class, ParameterizedTest::class, RepeatedTest::class)
.filterIsInstance<KoVisibilityModifierProvider>()
.assertTrue { it.hasPrivateModifier }
}