【发布时间】:2008-10-02 03:06:40
【问题描述】:
我一直在思考单元测试以及如何提高单元测试的可读性。我想为什么不在单元测试中给类一个字符来阐明它们的作用。
这是我写的一个简单的单元测试:
[TestFixture]
public class when_dave_transfers_money_from_wamu_account_to_the_woodforest_account
{
[Test]
public void should_increase_the_amount_in_woodforest_account_when_transaction_successfull()
{
Dave dave = new Dave();
Wamu wamu = new Wamu();
wamu.Balance = 150;
wamu.AddUser(dave);
Woodforest woodforest = new Woodforest();
woodforest.AddUser(dave);
FundTransferService.Transfer(100, wamu, woodforest);
Assert.AreEqual(wamu.Balance, 50);
Assert.AreEqual(woodforest.Balance, 100);
}
}
这是 Dave 类:
/// <summary>
/// This is Dave!
/// </summary>
public class Dave : User
{
public Dave()
{
FirstName = "Dave";
LastName = "Allen";
}
}
单元测试名称清楚地服务于目的。但是,也许我想更深入地挖掘并在创建 Dave 时将 Wamu 和 Woodforest 帐户分配给 Dave。问题是它将远离可读性,因为我将不得不使用索引值来引用帐户。
您对提高可读性有何看法?
【问题讨论】:
标签: c# .net unit-testing