Sto usando Test::MockModule
per testare il modulo perl. Una delle chiamate richiede lo stato di controllo di $?
per ottenere il codice di errore e i controlli del programma.
Come posso prendere in giro il risultato di $?
Codice in prova è come qui di seguito.
my $result = CCUtil::cleartool($cmd);
if ($? != 0) {
confess "Stream $stream not found($result) ";
}
L'API restituisce stringa e imposta $? per verificare lo stato.
chiamate a metodi normali ed i loro valori di ritorno vengono modificate usando qualcosa di simile sotto
my $module = Test::MockModule->new('CCUtil');
$mockModule->mock(cleartool => sub {return 'stream not found'});
La chiamata al metodo viene ora preso in giro. Non il valore di - $?