Skip to content

Commit af3aab5

Browse files
authored
Fix tests rendering UndeclaredThrowableException instead of InvalidDataAccessApiUsageException (#2290)
Unwrap `InvocationTargetException` in `RepositoryWrapperInvocationHandler` to show stack trace in generated tests
1 parent e5c670b commit af3aab5

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

utbot-spring-commons/src/main/kotlin/org/utbot/spring/repositoryWrapper/RepositoryWrapperInvocationHandler.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package org.utbot.spring.repositoryWrapper
22

33
import org.utbot.spring.api.repositoryWrapper.RepositoryInteraction
44
import java.lang.reflect.InvocationHandler
5+
import java.lang.reflect.InvocationTargetException
56
import java.lang.reflect.Method
67

78
class RepositoryWrapperInvocationHandler(
@@ -10,7 +11,11 @@ class RepositoryWrapperInvocationHandler(
1011
) : InvocationHandler {
1112
override fun invoke(proxy: Any, method: Method, args: Array<out Any?>?): Any? {
1213
val nonNullArgs = args ?: emptyArray()
13-
val result = runCatching { method.invoke(originalRepository, *nonNullArgs) }
14+
val result = try {
15+
Result.success(method.invoke(originalRepository, *nonNullArgs))
16+
} catch (e: InvocationTargetException) {
17+
Result.failure(e.targetException)
18+
}
1419
RepositoryInteraction.recordedInteractions.add(
1520
RepositoryInteraction(beanName, method, nonNullArgs.toList(), result)
1621
)

0 commit comments

Comments
 (0)