TDD を使用して、C# (これは非常に初めてです) でコンソール アプリケーションを作成しようとしています。
文字列をキーとして、整数を値として含む辞書を反復処理し、それらを「キー:値」としてコンソールに出力しようとしています。私はさまざまなことを試しましたが、最終的にうまくいくものを見つけました:
public void ShowContents ()
{
foreach (KeyValuePair<string, int> item in dictionary) {
Console.WriteLine ("{0}: {1}", item.Key, item.Value);
}
}
私が抱えている問題は、これをテストする方法がわからないということです。私のテストは現時点では次のようになります。
[Test ()]
public void CanShowContentsOfDictionary ()
{
dictionary.AddWord ("Hello");
Assert.AreEqual ("Hello: 1", dictionary.ShowContents ());
}
そして明らかに、何かがコンソールに出力されるのではなく、戻り値が期待されています。ここの他の場所で、Console.WriteLine が機能すると想定しているだけなので、ポイント テストがなかったことを読みました。代わりに、このメソッドで return を使用して、コンソールに書き込むだけの別のメソッドを記述できます (したがって、コンソールに書き込む必要はありません)。テストされます)。これに関する問題は、a) すべてのキーと値を返すメソッドの書き方がわかりません。b) 1 つのものを返すのではなく、さまざまな文字列を返します。
これについてどうすればよいかアドバイスはありますか?