1. ホーム
  2. .net

[解決済み] MSTestを使用して非同期コードをテストする方法

2022-12-05 12:24:06

質問

超シンプルな非同期コードを書いています。ただ、オフスレッドでファイルを保存しているだけです。

このコードをMicrosoft Visual Studio Team System 2008のMSTestユニットテストフレームワークを使ってテストしたいと思います。

どのようにすればよいのでしょうか。

メソッドが戻るまで、テストメソッドを単純にブロックしたいと思います。これを行ういくつかの方法を想像することができますが、この周りのベストプラクティスまたはヘルパークラスがないことに驚いています。

私は たくさん を見かけますが、一般的なものはありません。

どのように解決するのですか?

Visual Studio 2012 (旧称: Visual Studio 11") 非同期テストのサポートが導入されました。 . このような感じです。

[TestMethod]
public async Task FooTest()
{
   var result = await SomeAsyncOperation();
   Assert.IsTrue(someCondition);
}

コメントで指摘されているように Task の戻り値の型は重要です。 . を返すメソッドとして宣言した場合はうまくいきません。 void .