こんにちは。
Windows10でASP.NETのアプリケーションを開発しています。
Visual Studio 2017 Communityを使っています。
###前提・実現したいこと
あるメソッドのテストコードを書きたいです。
コードは下記のようなものです。
それぞれの処理で10-20行ぐらいずつあり、全体では100行くらいのメソッドです。
###該当のソースコード
C#
1private void method(){ 2 //メールの本文をファイルから取得。 3 string mailtemplate = GetMailTemplateFromFile(filepath); 4 5 //送信先のメールアドレスをデータベースから取得。 6 List<string> mailaddresses = GetMailAddressFromDB(); 7 foreach(string mail in mailaddresses){ 8 //メール送信 9 SendMail(mail, mailtemplate); 10 //送信したかどうかをデータベースに登録。 11 UpdateDatabase(mail); 12 } 13}
###発生している問題・エラーメッセージ
問題は、メールを送信するとデータベースを更新してしまうため、同じメソッドを2回繰り返すと、2回目は本来送るべきメール送信ターゲットが、ターゲットでなくなってしまうことです。
そのため、現在は、
・手動でテスト
・DBをSSMSで手動で編集。送信済みフラグをオフ。
というのを繰り返しています。
これは効率が悪い。
こういう場合、どういうふうにメソッドを構成すれば、自動でテストできるようになるのでしょう?
#If DebugとかでDBに登録しないようにするとかでしょうか?
###補足情報(言語/FW/ツール等のバージョンなど)
Microsoft Visual Studio Community 2017
Version 15.0.26228.9 D15RTWSVC
Microsoft .NET Framework
Version 4.6.01586
です。
よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/10 11:50