Skip to content

Commit b225597

Browse files
committed
First autotests for Spring work
1 parent 568c9fb commit b225597

5 files changed

Lines changed: 29 additions & 13 deletions

File tree

utbot-spring-test/src/test/kotlin/org/utbot/examples/spring/autowiring/OrderServiceTests.kt

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
package org.utbot.examples.spring.autowiring
22

33
import org.junit.jupiter.api.Test
4-
import org.springframework.data.jpa.repository.JpaRepository
5-
import org.springframework.data.repository.PagingAndSortingRepository
6-
import org.utbot.framework.plugin.api.CodegenLanguage
4+
import org.utbot.examples.spring.utils.springAdditionalDependencies
5+
import org.utbot.examples.spring.utils.standardSpringTestingConfigurations
76
import org.utbot.framework.plugin.api.MockStrategyApi
87
import org.utbot.testcheckers.eq
98
import org.utbot.testing.*
@@ -13,7 +12,7 @@ import kotlin.reflect.KFunction2
1312

1413
internal class OrderServiceTests : UtValueTestCaseChecker(
1514
testClass = OrderService::class,
16-
pipelines = listOf(TestLastStage(language = CodegenLanguage.JAVA))
15+
configurations = standardSpringTestingConfigurations
1716
) {
1817
@Test
1918
fun testGetOrders() {
@@ -26,7 +25,7 @@ internal class OrderServiceTests : UtValueTestCaseChecker(
2625
},
2726
coverage = DoNotCalculate,
2827
mockStrategy = MockStrategyApi.OTHER_CLASSES,
29-
additionalDependencies = arrayOf(JpaRepository::class.java, PagingAndSortingRepository::class.java),
28+
additionalDependencies = springAdditionalDependencies,
3029
)
3130
}
3231

@@ -42,7 +41,7 @@ internal class OrderServiceTests : UtValueTestCaseChecker(
4241
},
4342
coverage = DoNotCalculate,
4443
mockStrategy = MockStrategyApi.OTHER_CLASSES,
45-
additionalDependencies = arrayOf(JpaRepository::class.java, PagingAndSortingRepository::class.java),
44+
additionalDependencies = springAdditionalDependencies,
4645
)
4746
}
4847

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package org.utbot.examples.spring.utils
2+
3+
import org.springframework.data.jpa.repository.JpaRepository
4+
import org.springframework.data.repository.PagingAndSortingRepository
5+
import org.utbot.framework.codegen.domain.ParametrizedTestSource
6+
import org.utbot.framework.plugin.api.CodegenLanguage
7+
import org.utbot.testing.SpringConfiguration
8+
import org.utbot.testing.TestExecution
9+
10+
val standardSpringTestingConfigurations: List<SpringConfiguration> = listOf(
11+
SpringConfiguration(CodegenLanguage.JAVA, ParametrizedTestSource.DO_NOT_PARAMETRIZE, TestExecution)
12+
)
13+
14+
val springAdditionalDependencies: Array<Class<*>> = arrayOf(
15+
JpaRepository::class.java,
16+
PagingAndSortingRepository::class.java,
17+
)

utbot-testing/src/main/kotlin/org/utbot/testing/TestCodeGeneratorPipeline.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,14 @@ class TestCodeGeneratorPipeline(private val testInfrastructureConfiguration: Tes
4040

4141
private fun runPipelinesStages(classPipeline: ClassPipeline): CodeGenerationResult {
4242
val classUnderTest = classPipeline.stageContext.classUnderTest
43-
val classPipelineName =
44-
classUnderTest.qualifiedName ?: error("${classUnderTest.simpleName} doesn't have a fqn name")
43+
val classPipelineName = classUnderTest.qualifiedName
44+
?: error("${classUnderTest.simpleName} doesn't have a fqn name")
4545

4646
logger
4747
.info()
4848
.measureTime({ "Executing code generation tests for [$classPipelineName]" }) {
4949
CodeGeneration.verifyPipeline(classPipeline)?.let {
50-
withUtContext(UtContext(it.stageContext.classUnderTest.java.classLoader)) {
50+
withUtContext(UtContext(classUnderTest.java.classLoader)) {
5151
processCodeGenerationStage(it)
5252
}
5353
}
@@ -86,13 +86,13 @@ class TestCodeGeneratorPipeline(private val testInfrastructureConfiguration: Tes
8686
val prefix = when (codegenLanguage) {
8787
CodegenLanguage.JAVA ->
8888
when (parametrizedTestSource) {
89-
ParametrizedTestSource.DO_NOT_PARAMETRIZE -> "public void "
89+
ParametrizedTestSource.DO_NOT_PARAMETRIZE -> "@Test"
9090
ParametrizedTestSource.PARAMETRIZE -> "public void parameterizedTestsFor"
9191
}
9292

9393
CodegenLanguage.KOTLIN ->
9494
when (parametrizedTestSource) {
95-
ParametrizedTestSource.DO_NOT_PARAMETRIZE -> "fun "
95+
ParametrizedTestSource.DO_NOT_PARAMETRIZE -> "@Test"
9696
ParametrizedTestSource.PARAMETRIZE -> "fun parameterizedTestsFor"
9797
}
9898
}

utbot-testing/src/main/kotlin/org/utbot/testing/UtModelTestCaseChecker.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ import kotlin.reflect.KFunction3
4242
abstract class UtModelTestCaseChecker(
4343
testClass: KClass<*>,
4444
testCodeGeneration: Boolean = true,
45-
configurations: List<Configuration> = standardTestingConfigurations,
45+
configurations: List<AbstractConfiguration> = standardTestingConfigurations,
4646
) : CodeGenerationIntegrationTest(testClass, testCodeGeneration, configurations) {
4747
protected fun check(
4848
method: KFunction2<*, *, *>,

utbot-testing/src/main/kotlin/org/utbot/testing/UtValueTestCaseChecker.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ import kotlin.reflect.KFunction5
6161
abstract class UtValueTestCaseChecker(
6262
testClass: KClass<*>,
6363
testCodeGeneration: Boolean = true,
64-
configurations: List<Configuration> = standardTestingConfigurations,
64+
configurations: List<AbstractConfiguration> = standardTestingConfigurations,
6565
) : CodeGenerationIntegrationTest(testClass, testCodeGeneration, configurations) {
6666
// contains already analyzed by the engine methods
6767
private val analyzedMethods: MutableMap<MethodWithMockStrategy, MethodResult> = mutableMapOf()

0 commit comments

Comments
 (0)