From 917ea023b61429fe8a593d3b8227249f2addb932 Mon Sep 17 00:00:00 2001 From: Andrey Tarbeev <54685068+sofurihafe@users.noreply.github.com> Date: Mon, 24 Apr 2023 19:28:13 +0300 Subject: [PATCH] Prohibit all mocks from becoming test class fields --- .../domain/models/builders/SpringTestClassModelBuilder.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/domain/models/builders/SpringTestClassModelBuilder.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/domain/models/builders/SpringTestClassModelBuilder.kt index a52054dde7..c1cd535eed 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/domain/models/builders/SpringTestClassModelBuilder.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/domain/models/builders/SpringTestClassModelBuilder.kt @@ -101,8 +101,10 @@ class SpringTestClassModelBuilder(val context: CgContext): TestClassModelBuilder } } is UtCompositeModel -> { + // Here we traverse fields only. + // Traversing mocks as well will result in wrong models playing + // a role of class fields with @Mock annotation. currentModel.fields.values.forEach { collectRecursively(it, allModels) } - currentModel.mocks.values.asSequence().flatten().forEach { collectRecursively(it, allModels) } } is UtAssembleModel -> { currentModel.origin?.let { collectRecursively(it, allModels) }