diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/generator/UtTestsDialogProcessor.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/generator/UtTestsDialogProcessor.kt index ab357d3aef..3f2cc26e79 100644 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/generator/UtTestsDialogProcessor.kt +++ b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/generator/UtTestsDialogProcessor.kt @@ -13,6 +13,7 @@ import com.intellij.openapi.progress.ProgressIndicator import com.intellij.openapi.progress.Task import com.intellij.openapi.project.Project import com.intellij.openapi.roots.OrderEnumerator +import com.intellij.openapi.ui.Messages import com.intellij.openapi.util.text.StringUtil import com.intellij.psi.PsiClass import com.intellij.refactoring.util.classMembers.MemberInfo @@ -215,6 +216,16 @@ object UtTestsDialogProcessor { processedClasses++ } + if (processedClasses == 0) { + invokeLater { + Messages.showInfoMessage( + model.project, + "No methods for test generation were found among selected items", + "No methods found") + } + return + } + indicator.fraction = indicator.fraction.coerceAtLeast(0.9) indicator.text = "Generate code for tests" // Commented out to generate tests for collected executions even if action was canceled. diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/actions/GenerateTestsAction.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/actions/GenerateTestsAction.kt index 7e4d60357e..65dcb81f53 100644 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/actions/GenerateTestsAction.kt +++ b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/actions/GenerateTestsAction.kt @@ -54,7 +54,7 @@ class GenerateTestsAction : AnAction() { val matchingRoot = ModuleRootManager.getInstance(module).contentEntries .flatMap { entry -> entry.sourceFolders.toList() } .singleOrNull { folder -> folder.file == srcSourceRoot } - if (matchingRoot == null || matchingRoot.rootType.isForTests) { + if (srcMethods.isEmpty() || matchingRoot == null || matchingRoot.rootType.isForTests) { return null }