我有一个很大的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);
}
我们如何才能将其从单元测试中移除,但仍然能够运行这样的代码?
答案 0 :(得分:0)
您的设置听起来非常危险。我会为您的不同需求创建单独的控制台应用程序。我还建议您删除所有危及生产数据的单元测试。进行那种单元测试只是非常糟糕!