[英]How to test a method in viewModel which returns LiveData value from repository
在我的 ViewModel 中,我正在從我的存儲庫類中調用一個方法,該方法從 Web 服務返回一個 LiveData。 我的視圖模型代碼:
class MainViewModel @Inject constructor(val mainRepository: MainRepository) : ViewModel() {
val source: LiveData<My_Result> = mainRepository.fetchApiresultFromClient(str_query)
.......... }
我的問題是有沒有辦法從存儲庫中調用的 web 服務中獲取真實數據,或者我是否只准備結果並斷言它不為空; 像下面這樣:
when(mainrepository.fetchApiresultFromClient(any(String::class))).thenReturn(myPreparedLiveData<My_result>)
由於問題被標記為單元測試,恕我直言,期望來自 Web 服務的真實數據實際上並不屬於單元測試的范圍。 您可能會調用集成測試,但是,從單元測試的角度來看,您可能會考慮模擬來自調用 Web 服務的函數的響應,並驗證是否使用您期望的正確參數調用了該方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.