我是 Kotlin 的新手,對 Java 幾乎沒有經驗,所以請多多包涵。根據我能夠研究的內容(例如, here),似乎mockFoo應該可以從外部類訪問,但 IntelliJ 給了我一個Unresolved Reference錯誤。
@ExtendWith(MockKExtension::class)
class GetBazTest {
@MockK
private lateinit var mockFoo: FooClient
@MockK
private lateinit var mockBar: BarClient
private lateinit var getBaz: GetBaz
@BeforeEach
fun setup() {
getBaz = GetBaz(
mockFoo,
mockBar,
)
}
@Test
fun `it should do a thing`() {
// some code to create expectedResult
coEvery {
mockFoo.getSomething(any())
} answers {
expectedResult
}
}
@Nested
@DisplayName("Tests for Xyz")
class XyzTest {
@Test
fun `it should do a different thing`() {
// some code to create expectedResult
coEvery {
mockFoo.getAThing(any()) // mockFoo gives Unresolved Reference error
} answers {
expectedResult
}
}
}
}
setUp mockFoo我需要在內部課程中再次這樣做似乎不對。如何訪問外部變數?
uj5u.com熱心網友回復:
只需將 XyzTest 設為一個inner類即可授予他訪問外部類成員的權限
@Nested
@DisplayName("Tests for Xyz")
inner class XyzTest { ...
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/532201.html
上一篇:SwiftUI類初始化錯誤
