Ear*_*rlz 5 c# tdd nunit unit-testing api-design
我一直在尝试为我的一个开源项目遵循松散的TDD工作流程.它是其他程序员使用的API.
因此,一个关键方面以及使API"工作"也在设计它将如何被消费.我听说有些人说在编译之前编写测试是浪费时间,并且在API稳定之前容易不断重写.我也听说它应该遵循这样的工作流程:
我一直在努力遵循这个工作流程,但我最终得到了一些奇怪的东西.例如,在我的API中,我有以下两种方法:
Handles(string pattern); //had this one already
Handles(IPatternMatcher pattern); //needed this one
Run Code Online (Sandbox Code Playgroud)
我需要将第二种形式的方法添加到我的API中.所以,我最终得到了一个死的简单测试:
public void Handles_SupportsIPatternMatcher()
{
var api=new MyAPI();
api.Handles(new TestPatternMatcher());
}
Run Code Online (Sandbox Code Playgroud)
它实施后似乎是一种浪费.
我应该继续关注此工作流程,还是有办法改进它?如何编写基本上只检查编译器错误的测试?由于它是一个可公开使用的API,我应该担心这样的测试吗?
如果您使用 resharper,您可以创建空的 Handles 方法,该方法将获取 IPatternMatcher。TDD 是很强大的东西,你应该继续尝试。我尝试了代码前测试和代码后测试两种方法,我发现代码前测试是非常强大的。您可以非常快速地调试代码错误。测试可以保证您的代码将按您的预期工作。
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |