我正在尝试测试该方法 getSongsList
class SongsRemoteDataSource @Inject constructor(
private val resultParser: ResultParser,
private val songsService: SongsService
) {
suspend fun getSongsList(query: String): Result<SongsResponse> =
resultParser.parse { songsService.getSongsList(query) }
}
Run Code Online (Sandbox Code Playgroud)
基本上我正在尝试测试是否使用正确的 lambda 作为参数调用了模拟
class SongsRemoteDataSourceTest {
@RelaxedMockK
private lateinit var resultParser: ResultParser
@RelaxedMockK
private lateinit var songsService: SongsService
private lateinit var songsRemoteDataSource: SongsRemoteDataSource
@Before
fun setUp() {
MockKAnnotations.init(this)
songsRemoteDataSource = SongsRemoteDataSource(resultParser, songsService)
}
@Test
fun getSongsList() = runBlockingTest {
val query = "query"
songsRemoteDataSource.getSongsList(query)
coVerify { resultParser.parse { songsService.getSongsList(query) } }
}
} …Run Code Online (Sandbox Code Playgroud)