大きな Windows サービス アプリケーションがあります。時間制限ベースでアクションを実行します。場合によっては、その機能の一部をアプリケーションの残りの部分から分離して使用できるようにする必要があります。現在、さまざまなソースを呼び出して目的の機能を実行する一連の「単体テスト」があります。私の問題は、これらが単体テストではなく、API を公開する方法であることです。プロジェクトですべての単体テストを実行すると、本番データの一部が破損します。
私の質問は、単体テストなしでアプリケーションの機能の一部にアクセスするにはどうすればよいですか? おそらく、機能のさまざまな部分を呼び出すことができるインタープリターのようなものを考えていましたが、どこから始めればよいかわかりません。
コードの単体テストの例は次のとおりです。
[TestMethod]
public void TransferFunds()
{
int accountNumberTo = 123456;
int accountNumberFrom = 654321;
var accountFrom = Store.GetAccount(accountNumberFrom);
var accountTo = Store.GetAccount(accountNumberTo);
double amountToTransfer = 1000;
DateTime transactionDate = new DateTime(2010,01,01);
Store.TransferFunds(accountFrom, AccountTo, amountToTransfer, transactionDate);
var client = BankAccountService.Client();
client.Contribute(accountNumberTo, amountToTransfer, transactionDate);
client.Contribute(accountNumberFrom, amountToTransfer, transactionDate);
}
これを単体テストから外して、このようなコードを実行できるようにするにはどうすればよいでしょうか?