Actualmente tengo el siguiente método:¿Qué pruebas hacer para este pequeño método?
public void SetNewRandomValue() {
double newValue = numberGenerator.GenerateDouble(
genesValuesInterval.MinimumValue,
genesValuesInterval.MaximumValue
);
this.value = newValue;
}
cuáles deberían ser las directrices para decidir el número de pruebas (y que pone a prueba) para hacer que este método? Actualmente he hecho la siguiente (sólo después de la realización del procedimiento - es decir, no se prueba primero):
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);
que, básicamente, sólo pone a prueba una situación. Regression-testingwise Diría que no puedo pensar en una forma de alterar el código, convirtiéndolo en código de mal funcionamiento y aún así tener el pase de prueba, es decir, creo que el método se ve decentemente cubierto.
¿Cuál es su opinión al respecto? ¿Cómo manejarías este pequeño método?
Gracias
está ansioso por publicar esto como una solución, ya que de ninguna manera soy un dios de Unit Testing. Sin embargo, si has probado suficientemente tu generador de números, y tu recuperación min/max de los valores de los genes, entonces me detendría con eso. si conoces ese trabajo, todo lo que probarías es que este valor se establece. –
¿Cuál es el segundo parámetro en el constructor 'Gene'? –