Cod*_*ody 3 language-agnostic unit-testing
考虑您有以下方法:
public Foo ParseMe(string filepath)
{
// break up filename
// validate filename & extension
// retrieve info from file if it's a certain type
// some other general things you could do, etc
var myInfo = GetFooInfo(filename);
// create new object based on this data returned AND data in this method
}
Run Code Online (Sandbox Code Playgroud)
目前我有单元测试GetFooInfo,但我想我还需要构建单元测试ParseMe.在这种情况下,你有两个方法返回两个不同的属性 - 并且它们中的任何一个的变化都可能破坏某些东西 - 是否应该为两者创建单元测试以确定输出是否符合预期?
我喜欢在谨慎方面犯错,并且对于破坏事物更加谨慎,并确保以后的维护更容易,但我对在测试项目中添加非常类似的测试感到非常怀疑.这是不好的做法还是有办法更有效地做到这一点?
我将此标记为与语言无关,但为了重要,我正在使用C#和NUnit - 另外,我在标题中看到了类似于此的帖子,但问题不同.对不起,如果已经问过这个问题.
ParseMe看起来非常重要,需要进行单元测试.要回答你确切的问题,如果"你有两个方法返回两个不同的属性-和在任何一方的改变可能碰坏 "你应该绝对单元测试.
即使大部分工作都在GetFooInfo,但至少应该测试它实际上是否被调用.我对NUnit一无所知,但我知道在其他框架(比如RSpec)中你可以编写类似的测试GetFooInfo.should be_called(:once).
| 归档时间: |
|
| 查看次数: |
126 次 |
| 最近记录: |