关于TDD构造函数(From Maillist)

Frank:

大家好,不知道有没有人能帮我看看这个有些罗嗦的问题。(在这个列表中我是个新人,如果我的问题不合适请大家原谅。)

简单的说,在使用test-first的时候,我们应该怎么处理枚举变量?

既然,我们不应该在遇到red test之前写任何代码,下面这个例子应该怎么做?

Drink drink = new Drink(DrinkType.Cocktail);

接下来,我应该来写测试验证构造函数:

[Test]
public void Test_Constructor()
{
Drink d= new Drink(DrinkType.Cocktail);
Assert.IsNotNull(d);
}

可是,我是不是应该专门写一个测试来测试这个枚举参数呢?到底应该怎么处理?

Charlie

你做得似乎有些太快了。事实上,如果是我,我会先写一个这样的构造函数:

Drink d = new Drink();

当然,过一会儿,我可能想要知道这个饮料的类型了,我就写一个测试:

Assert.AreEqual("cocktail", d.DrinkType);或者Assert.AreEqual(DrinkType.Cocktail, d.DrinkType);

这个测试显然不能通过编译,我会写一点点代码,让它通过:

public string DrinkType
{
get{ return "cocktail"; }
}

只有等到我遇到第二种新的饮料类型,我才会需要那个构造函数。

至于你说的对于枚举类型的测试:枚举类型只是一个声明,并不包含真正的代码,所以不需要测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值