Hacemos esto todo el tiempo. Nos burlamos de nuestras dependencias usando JMock, así que supongo que, en cierto sentido, el framework JMock está haciendo la afirmación por nosotros ... pero va más o menos así. Tenemos un controlador que queremos prueba:
Class Controller {
private Validator validator;
public void control(){
validator.validate;
}
public setValidator(Validator validator){ this.validator = validator; }
}
Ahora, cuando el regulador prueban que 'no queremos poner a prueba de validación, ya que tiene su propio pruebas. por lo que tenemos una prueba con JMock sólo para asegurarse de que llamamos validación:
public void testControlShouldCallValidate(){
mockValidator.expects(once()).method("validate");
controller.control;
}
Y eso es todo, no hay una "afirmación" de ver, pero cuando se llama al método de "validación" de control y no se llama entonces el El framework JMock arroja una excepción (algo así como "método esperado no invocado" o algo así).
Tenemos esos por todo el lugar. Es un poco al revés ya que básicamente configura su afirmación ENTONCES realice la llamada al método probado.
no estoy de acuerdo - no es pragmático, es vago;) – ryw
la pereza es una buena motivación para escribir el código de mantenimiento :) –