Considera un campo di gioco, con vari tipi di giocatori (diciamo Hunter
s e Animal
s), tutti in movimento sul campo di gioco (e facendo alcune altre cose). Ad esempio, in un test unitario per la classe Hunter
, possono esserci casi di test, poiché Hunter
collide con Animal
e Hunter
collide con un altro Hunter
. Quest'ultimo potrebbe assomigliare a questo.
public class TestHunter {
private Hunter hunter; // SUT
@Mock // <-- should we?
private Hunter hunter2;
// initialization code, not important...
@Test
public void testCollideWithHunter() {
hunter.collideWithHunter(hunter2);
assert(/* something with hunter, not important */);
}
}
Domanda: in questo caso hunter2
(che non è l'obiettivo dei test), essere deriso o no?
La mia conclusione è che in questo caso hunter2
è solo un'altra dipendenza (sebbene, sembra essere della stessa classe del Sistema sotto test), quindi dovrebbe essere deriso. Pertanto sarei interessato soprattutto ad ascoltare le controspermie, ovvero perché hunter2
dovrebbe non essere deriso?