我在不同的模块中有几个JUnit4测试,它们看起来几乎相同(下面是几十个中的3个示例):第一个唯一变化的部分是response,它总是展开为相同的GraphQlCallError.UnrecoverableError(“Given”和“Then”部分是相同的)。避免所有这些代码重复的最佳方法是什么?
response
GraphQlCallError.UnrecoverableError
5anewei61#
您可以编写一个函数来接受生成响应的lambda:
fun testResponseIsUnrecoverable( responseLambda: () -> Result<Any, GraphQlCallError> ): TestResult = runTest { // Given coEvery { getAccessTokenInteractor() } returns Err(GetAccessTokenInteractor.ErrResult.AccountNotFound) // When val response: Result<Any, GraphQlCallError> = responseLambda() // Then response.unwrapError() is GraphQlCallError.UnrecoverableError }
那么你的三个测试可以简化为:第一个
1条答案
按热度按时间5anewei61#
您可以编写一个函数来接受生成响应的lambda:
那么你的三个测试可以简化为:
第一个