技术开发 频道

使用Visual Studio 2010特性支持TDD

public class Automobile
    {
        
public string Model { get; set; }

        
public int TopSpeed { get; set; }

        
public Automobile(string model, int topSpeed)
        {
            
// TODO: Complete member initialization
            this.Model = model;
            
this.TopSpeed = topSpeed;
        }

        
public Automobile()
        {
            
// TODO: Complete member initialization
        }

        
public void Start()
        {
            
throw new NotImplementedException();
        }

        
public bool IsRunning { get; set; }
    }

  6. 运行测试程序
 
现在,我们可以从“Test->Run->All Tests in Solution”来运行测试项目中的所有测试,毫无例外的,我们的两个测试都会失败。
 


图7 测试失败

  测试失败并没有让我们“胆战心惊”,相反,我们找到了前进的目标,我们接下来的任务就是修改代码的实现,使得测试通过,让红灯变成绿灯。

  7. 实现代码,通过测试

  在测试报告的帮助下,我们很快就找到了测试失败的原因:默认构造函数没有正确地初始化和Start()函数没有正确地启动我们的Automobile。所以,我们将这两个函数修改如下:

public Automobile()
        {
            
this.Model = "Not specified";
            
this.TopSpeed = -1;
        }

        
public void Start()
        {
            
//throw new NotImplementedException();
            this.IsRunning = true;
        }

  然后,我们再重新运行测试,就会高兴地看到,所有测试都可以通过了,绿灯大开。


图8 测试成功
 

  有了“即用即产生”功能,Visual Studio 2010中的TDD真如“行云流水”般顺畅。

0
相关文章