Язык: Kotlin
Цель состоит в том, чтобы протестировать метод, который вызывает System.getenv
внутренне, я хотел бы, чтобы этот метод производил предопределенный результат
Trial:
mockkStatic(System::class)
every {
System.getenv(any())
} answers {
when {
firstArg() as String == "clientId" -> "aaa"
firstArg() as String == "clientSecret" -> "bbb"
else -> throw IllegalArgumentException("something went wrong")
}
}
mockkStatic(System::class)
Похоже, это вызвало у JVM некоторые сомнения:
Exception in thread "main" java.lang.StackOverflowError
Exception: java.lang.StackOverflowError thrown from the UncaughtExceptionHandler in thread "main"
Как можно протестировать такой метод? (как вы можете себе представить, во многих кодах используются переменные окружения)