Skip to content

Commit ce380d2

Browse files
committed
Skip abstract methods when generating tests
1 parent ff1ea73 commit ce380d2

File tree

4 files changed

+6
-0
lines changed

4 files changed

+6
-0
lines changed

utbot-cli/src/main/kotlin/org/utbot/cli/GenerateTestsCommand.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ class GenerateTestsCommand :
9696
val classUnderTest: KClass<*> = loadClassBySpecifiedFqn(targetClassFqn)
9797
val targetMethods = classUnderTest.targetMethods()
9898
.filterWhen(UtSettings.skipTestGenerationForSyntheticMethods) { !isKnownSyntheticMethod(it) }
99+
.filterNot { it.callable.isAbstract }
99100
initializeEngine(workingDirectory)
100101

101102
if (targetMethods.isEmpty()) {

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/generator/UtTestsDialogProcessor.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import com.intellij.openapi.roots.OrderEnumerator
1616
import com.intellij.openapi.ui.Messages
1717
import com.intellij.openapi.util.text.StringUtil
1818
import com.intellij.psi.PsiClass
19+
import com.intellij.psi.PsiModifier
1920
import com.intellij.psi.SyntheticElement
2021
import com.intellij.refactoring.util.classMembers.MemberInfo
2122
import com.intellij.testIntegration.TestIntegrationUtils
@@ -140,6 +141,7 @@ object UtTestsDialogProcessor {
140141
.filterWhen(UtSettings.skipTestGenerationForSyntheticMethods) {
141142
it.member !is SyntheticElement
142143
}
144+
.filterNot { it.member.modifierList?.hasModifierProperty(PsiModifier.ABSTRACT)?: false }
143145
findMethodsInClassMatchingSelected(clazz, srcMethods)
144146
}.executeSynchronously()
145147

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/GenerateTestsDialogWindow.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ import com.intellij.psi.PsiClass
4040
import com.intellij.psi.PsiManager
4141
import com.intellij.psi.PsiMethod
4242
import com.intellij.psi.SyntheticElement
43+
import com.intellij.psi.PsiModifier
4344
import com.intellij.refactoring.PackageWrapper
4445
import com.intellij.refactoring.ui.MemberSelectionTable
4546
import com.intellij.refactoring.ui.PackageNameReferenceEditorCombo
@@ -361,6 +362,7 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
361362
if (srcClasses.size == 1) {
362363
items = TestIntegrationUtils.extractClassMethods(srcClasses.single(), false)
363364
.filterWhen(UtSettings.skipTestGenerationForSyntheticMethods) { it.member !is SyntheticElement }
365+
.filterNot { it.member.modifierList?.hasModifierProperty(PsiModifier.ABSTRACT)?: false }
364366
updateMethodsTable(items)
365367
} else {
366368
items = srcClasses.map { MemberInfo(it) }

utbot-junit-contest/src/main/kotlin/org/utbot/contest/Contest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -449,6 +449,7 @@ private fun prepareClass(kotlinClass: KClass<*>, methodNameFilter: String?): Lis
449449
.filter { methodNameFilter?.equals(it.callable.name) ?: true }
450450
.filterNot { it.isConstructor && (it.clazz.isAbstract || it.clazz.java.isEnum) }
451451
.filterWhen(UtSettings.skipTestGenerationForSyntheticMethods) { !isKnownSyntheticMethod(it) }
452+
.filterNot { it.callable.isAbstract }
452453
.toList()
453454

454455
return if (kotlinClass.nestedClasses.isEmpty()) {

0 commit comments

Comments
 (0)