我正在制作一个有趣的角色扮演游戏,并尝试在开发时使用TDD。我看到的许多TDD示例都首先关注创建测试,然后创建使测试通过所需的对象。

例如:

[Test]
public void Character_WhenHealthIsBelowZero_IsDead()
{
   // create default character with 10 health
   Character character = new Character();
   character.SubtractHealth(20);
   Assert.That(character.IsAlive, Is.EqualTo(false));
}

因此,基于此我将创建字符类和适当的属性/方法。这看起来还不错,但我的类设计真的应该从不断完善我的测试中脱颖而出吗?这比绘制我的游戏需要的可能物体更好吗?例如,我通常会想到一个基本的Character类,然后是Wizard,Fighter,Theif等子类。

还是采用平衡的方法?我在其中列出了可能需要的类和层次结构,但首先编写测试以验证它们是否确实需要吗?

最佳答案



是的。



绝对不。这意味着在编写测试以及其余代码时要考虑类设计。类设计在整个Red-Green-Refactor TDD生命周期中都在发挥作用。

关于c# - TDD是否意味着不考虑类设计?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2149369/

10-12 00:29
查看更多