私はC#での単体テストの世界では初めてです。
私の中にコードがありますMain.cs
public static string Generate(int length)
{
char[] chars = "$%#@!*abcdefghijklmnopqrstuvwxyz1234567890?;:ABCDEFGHIJKLMNOPQRSTUVWXYZ^&".ToCharArray();
string password = string.Empty;
Random random = new Random();
for (int i = 0; i < length; i++)
{
int x = random.Next(1, chars.Length);
if (!password.Contains(chars.GetValue(x).ToString()))
password += chars.GetValue(x);
else
i--;
}
return password;
}
今、私はこのコードを単体テストでテストする方法がわかりません。誰かが私に例を教えてもらえますか?
編集:
テストコードを作成しました
[TestMethod]
[Timeout(1000)]
public void RenderingPasswordShouldHaveMaximumSize()
{
var amountOfCharacters = Int32.MaxValue;
var generator = new PasswordGenerator();
var target = generator.Generate(amountOfCharacters);
// TODO
Assert.Fail("This method should throw an exception if you try to create a password with too many characters");
}
しかし、それは私に次のエラーを与えます:メッセージ:テスト'RenderingPasswordShouldHaveMaximumSize'が実行タイムアウト期間を超えました誰かがこれで私を助けることができますこれは74の最大サイズを持つ必要があります!