dev*_*ium 5 c# testing unit-testing
我目前有以下方法:
public void SetNewRandomValue() {
double newValue = numberGenerator.GenerateDouble(
genesValuesInterval.MinimumValue,
genesValuesInterval.MaximumValue
);
this.value = newValue;
}
Run Code Online (Sandbox Code Playgroud)
决定对此方法进行多少次测试(和哪些测试)的准则应该是什么?我目前已经完成了以下一个(仅在实现该方法之后 - 即不是测试优先):
var interval = new Interval(-10, 10);
var numberGeneratorMock = new Mock<INumberGenerator>(MockBehavior.Strict);
var numberGenerator = numberGeneratorMock.Object;
double expectedValue = 5.0;
numberGeneratorMock.Setup(ng =>
ng.GenerateDouble(interval.MinimumValue, interval.MaximumValue))
.Returns(expectedValue);
var gene = new Gene(numberGenerator, 0, new Interval(-10, 10));
gene.SetNewRandomValue();
Assert.AreEqual<double>(expectedValue, gene.Value);
Run Code Online (Sandbox Code Playgroud)
这基本上只测试一种情况.回归 - 测试我会说我想不出一种弄乱代码的方法,把它变成功能错误的代码并且仍然有测试通过,也就是说,我觉得这个方法看起来很合理.
你对此有何看法?你会如何处理这个小方法?
谢谢
如果代码覆盖率可用于您的测试框架,我将使用您使用的任何测试工具来检查代码覆盖率。
我个人喜欢使用Microsoft Testing Tool或NUnit Testing Framework。然后,我可以右键单击我的测试项目Test with NCover(在使用 NUnit 时),它将运行测试并告诉我每个对象和测试覆盖的代码百分比。
我说,当您检查完代码覆盖率(至少达到 98% 的代码覆盖率)时,您的代码可能会得到很好的测试。
| 归档时间: |
|
| 查看次数: |
180 次 |
| 最近记录: |