2016-02-06 55 views
16

Czy istnieje sposób, w jaki mógłbym podnieść swój wyjątek UWAGA z testów jednostkowych w testach sprawdzających ... Krok R CMD check?
Ogólnie chciałbym mieć UWAGA w 00check.log, jeśli baza danych nie była dostępna podczas testów jednostkowych.
Witamy powitalne rozwiązania.Podnieś wyjątek UWAGA podczas sprawdzania R CMD

Aktualizacja: W rzeczywistości widzę znacznie więcej przypadków użycia tej funkcji, dodając nagrodę.

+2

Nie jestem pewien, czy możesz - potrzebujesz dostępu do obiektu 'Log' w środowisku pakietu' tools'. –

+1

Jeśli używasz tego testu, możesz użyć polecenia 'print' w pliku testowym. To nie jest UWAGA, ale przynajmniej niektóre wyniki, które możesz sprawdzić, nie sprawią, że czek nie powiedzie się. – Josh

+0

Możesz rozważyć umieszczenie własnych pytań przed przesłaniem za pomocą 'devtools :: release()'. Z pliku pomocy: "Możesz również dodać dowolne dodatkowe pytania, definiując (nie wyeksportowaną) funkcję o nazwie release_questions(), która zwraca wektor znaków dodatkowych pytań do zapytania" –

Odpowiedz

1

Ogólnie testy są przeprowadzane w oddzielnym procesie. Obiekt Log, o którym mówił Dirk, jest zmienną lokalną w pierwotnym procesie, więc nie ma możliwości uzyskania do niego dostępu.

Błędy w procesie potomnym są wykrywane przez niezerową wartość zwracaną. Inne anomalie w skrypcie testowym nie są widoczne, chyba że zapisałeś kopię pożądanego wyniku; wtedy porównanie nowej produkcji ze starą mogłoby je zobaczyć.