2016-02-06 19 views
16

C'è un modo per sollevare la mia eccezione NOTA dall'interno dei test di unità nei test di verifica ... di R CMD check?
In generale vorrei avere una NOTA in 00check.log se il database non era disponibile durante i test unitari.
Soluzioni sporche benvenute.sollevare un'eccezione NOTA durante il controllo R CMD

Aggiornamento: In realtà vedo molti altri casi di utilizzo per tale funzione, aggiungendo il valore di bounty.

+2

Non sono sicuro che sia possibile - è necessario accedere all'oggetto 'Log' nell'ambiente del pacchetto' tools'. –

+1

Se stai usando test, puoi usare 'print' all'interno di un file di test. Non è una NOTA, ma almeno un suo output che potresti verificare non farà fallire il controllo. – Josh

+0

Potresti considerare di includere le tue domande prima dell'invio con 'devtools :: release()'. Dal file della guida: "Puoi anche aggiungere altre domande arbitrarie definendo una funzione (non esportata) chiamata release_questions() che restituisce un vettore di caratteri di ulteriori domande da porre" –

risposta

1

In genere i test vengono eseguiti in un processo separato. L'oggetto Log a cui Dirk si riferisce è una variabile locale nel processo originale, quindi non c'è modo di accedervi.

Gli errori nel processo figlio sono rilevati da un valore di ritorno diverso da zero. Altre anomalie nello script di test non si vedono se non hai salvato una copia dell'output desiderato; quindi il confronto tra la nuova produzione e la vecchia li avrebbe visti.

Problemi correlati