我正在制作角色扮演游戏以获得乐趣并尝试在开发时使用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));
}
Run Code Online (Sandbox Code Playgroud)
所以基于此我将创建字符类和适当的属性/方法.这似乎很好,但是我的班级设计真的应该不断改进我的考试吗?这比制定我的游戏提前需要的可能对象更好吗?例如,我通常会想到一个基本的Character类,然后是子类,例如Wizard,Fighter,Theif.
或者是一种平衡的方法?我在哪里绘制出我需要的可能的类和层次结构,但首先编写测试来验证它们实际上是否需要?