【发布时间】:2010-12-03 20:01:12
【问题描述】:
我目前有以下方法:
public void SetNewRandomValue() {
double newValue = numberGenerator.GenerateDouble(
genesValuesInterval.MinimumValue,
genesValuesInterval.MaximumValue
);
this.value = newValue;
}
决定对该方法进行多少次测试(以及哪些测试)的指导方针应该是什么?我目前已经完成了以下一个(仅在实现该方法之后——即不是先测试):
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);
这基本上只是测试一种情况。 Regression-testingwise 我会说我想不出一种方法来弄乱代码,将其变成故障代码并且仍然通过测试,也就是说,我认为该方法看起来不错。
您对此有何看法?你会如何处理这个小方法?
谢谢
【问题讨论】:
-
我很担心将此作为解决方案发布,因为我绝不是单元测试之神。但是,如果您已经充分测试了您的数字生成器,以及您从genesValues 中检索的最小/最大值,那么我将就此停止。如果您知道这些工作,那么您要测试的只是 this.value 被设置。
-
Gene构造函数中的第二个参数是什么?
标签: c# unit-testing testing