我正在制作一个有趣的角色扮演游戏,并试图在开发它的同时使用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.EqualT
我已经做了许多使用TDD进行开发的测试;也就是说,先写我的测试。
我一直习惯于这样编写测试,使用这种命名约定。
MethodName_DoesWhat_WhenTheseConditions
这些方法非常适合单元测试,因为我知道方法名是什么,但在TDD中,我不知道方法名。例如,我有一个用户故事,它说明
"As a user, I can return the total number of records in the database"
现在只要看一眼,我马上就知道我会有一些方法,层。
但我现在还不知道TDD中这些方法的名称,所以尝试在测试名称前加上前缀是否有意义
假设下面的模型
public class Product {
private Integer requiredQuantity;
private Integer allowedQuantity;
// getters and setters
}
public class Order {
public void allowsOrder(List<Product> productList) throws AppException {
Integer allowedQuantity = 0;
Integer r