Moq とネイティブ VS テスト フレームワークを使用します。値が渡された再帰関数をテストしようとしています:
public bool AuthenticateByDomain(string domainName, string password, string username, string email)
{
エンティティを見つけるために使用されます。
// look for an existent domain name.
var matchFound = this.FindDomainPasswordMatch(domainName, password);
見つかった場合は、既存のUserNameを探します(アカウントは既に存在します)。
if (matchFound)
{
var account = this.GetByEmail(null, email);
if (account != null)
{
見つからない場合は、提供された電子メールとユーザー名に基づいてアカウントを作成します。
var uAccount = this.CreateAccount(username, password, email, domainName);
次に、(おそらく) への呼び出しGetByEmail()
が満たされ、認証ブランチが呼び出される場所で、それ自体を再帰的に呼び出します。
Moq がリポジトリと対話する例をいくつか見つけましたが、特定の問題にアプローチする方法を正確に確認できませんでした - リポジトリが更新され、再帰が成功することをテストします。トップレベルで見つかった各メソッドを unit get できます。それで十分だと宣言して次に進みますか? これは永続性テストですか?