`
experience
  • 浏览: 193109 次
社区版块
存档分类
最新评论
阅读更多

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"; }
}

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

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics