我已經被授權在c#中獲得很多異步函數(IAsyncOperation)的metro應用程序的單元測試。如何單元測試IAsyncOperation函數,或者我們可以使用Task with IAsyncOperation函數進行測試。如果是,請給我一個例子。因爲IAsyncOperation只能在winRT和任務中正常運行c#以平行運行使用c#中的任務測試IAsyncOperation使用任務#
1
A
回答
1
您可以使用IAsyncOperation<T>.StartAsTask()
方法生成對應於異步操作的Task<T>
。
這個StackOverflow的問題可能會有所幫助:What is the difference between Task<> and IAsyncOperation<>
2
您可以測試直接返回IAsyncOperation<T>
方法。首先根據UnitTestLibrary (Windows Store apps)
項目模板創建一個新項目。
假設你要測試的方法如下:
[TestClass]
public class UnitTest1
{
[TestMethod]
public async Task TestMethod1()
{
var viewModel = new ViewModel();
Assert.AreEqual("result", await viewModel.GetString());
}
}
只要確保你在測試中使用async Task
代替void
:
public class ViewModel
{
public IAsyncOperation<string> GetString()
{
//
}
}
您可以從測試類如下叫它方法簽名。
相關問題
- 1. 使用robolectric測試異步任務
- 2. 如何使用RSpec測試rake任務?
- 3. 使用Python/Flask測試計劃任務
- 4. C#如何使用任務
- 5. 測試Rake任務
- 6. 使用異步任務取消任務
- 7. SBT:如何修改它:使用調用原始測試任務的任務進行測試?
- 8. c#測試異步任務 - 測試用例忽略等待 - NullReferenceException
- 9. 測試Django的任務
- 10. 任務WhenAll使用
- 11. ArgumentOutOfRangeException使用任務
- 12. 在C#中使用Func處理任務#
- 13. 測試基於任務的WCF調用
- 14. 在QueueBackgroundWorkItem中使用任務
- 15. c#moq測試異步任務
- 16. 使用C的任務調度#
- 17. 使用任務加載模型異步使用任務
- 18. 使用python的GAE中的延期任務的任務隊列
- 19. Laravel測試任務調度
- 20. 測試咕嚕任務
- 21. 測試主要任務
- 22. 單元測試與任務
- 23. 測試耙子任務
- 24. 試圖使用ansible執行任務
- 25. 使用依賴注入的任務方法的單元測試
- 26. 讓試圖使任務
- 27. 使用wscompile任務的ClassNotFoundException
- 28. 在Celery任務中使用Django的ORM任務
- 29. 使用IIS託管WCF服務的C#中的任務管理
- 30. 使用`java.lang.IllegalArgumentException`給出初始化錯誤的Gradle測試任務?
感謝Damir,它可以工作,但它不像其他正常的同步測試那樣在測試資源管理器中顯示通過或失敗的測試結果。 – user1920851
@ user1920851這很奇怪。它對我來說工作得很好。每次測試都發生在你身上嗎?嘗試創建一個非常簡單的異步測試來試用它。 –