Я пишу пакет R (delftfews
) здесь, в офисе. мы используем svUnit
для модульного тестирования.
наш процесс описания новых функций: мы определяем новые модульные тесты, изначально помеченные как DEACTIVATED
; по одному блоку тестов за раз мы активируем их и реализуем функцию, описанную тестами. почти все время у нас есть небольшое количество ДЕАКТИВИРОВАННЫХ тестов относительно функций, которые могут быть отброшены или будут реализованы.
моя проблема / вопрос: могу ли я изменить doSvUnit.R так, чтобы R CMD check pkg
испускал ПРИМЕЧАНИЕ (т. Е. Пользовательское сообщение «NOTE» вместо «OK») в случае, если имеются ДЕАКТИВНЫЕ тесты ?
На данный момент мы видим только то, что активные тесты не выдают ошибку:
.
.
* checking for unstated dependencies in tests ... OK
* checking tests ...
Running ‘doSvUnit.R’
OK
* checking PDF version of manual ... OK
, что хорошо, если все тесты пройдены успешно, но менее правильно, если есть пропущенные тесты, и определенно неверно, если есть неудачные тесты. В этом случае я бы хотел увидеть ПРИМЕЧАНИЕ или ПРЕДУПРЕЖДЕНИЕ, например, следующее:
.
.
* checking for unstated dependencies in tests ... OK
* checking tests ...
Running ‘doSvUnit.R’
NOTE
6 test(s) were skipped.
WARNING
1 test(s) are failing.
* checking PDF version of manual ... OK
На данный момент мы должны открыть doSvUnit.Rout
, чтобы проверить реальные результаты теста.
Я связался с двумя из сопровождающих в r-forge и CRAN, и они указали мне на источники R , в частности сценарий testing.R
.
если я правильно понимаю, чтобы ответить на этот вопрос, нам нужно исправить пакет tools
:
- скрипты в каталоге тестов вызываются с помощью вызова
system
,
- вывод (stdout и stderr) перейти к одному файлу,
- возможны два результата: нормально или не хорошо ,
поэтому я открыл запрос на изменение для R, предлагая что-то вроде кодирования битов статуса возврата, бит-0 для ОШИБКИ (как сейчас), бит-1 для ПРЕДУПРЕЖДЕНИЯ, бит-2 для НОТА.
с моей модификацией было бы легко получить такой вывод:
.
.
* checking for unstated dependencies in tests ... OK
* checking tests ...
Running ‘doSvUnit.R’
NOTE - please check doSvUnit.Rout.
WARNING - please check doSvUnit.Rout.
* checking PDF version of manual ... OK
Брайан Рипли ответил: «Однако есть несколько пакетов с правильно написанными юнит-тестами.
которые делают сигнал, как требуется. Пожалуйста, возьмите это обсуждение в другом месте: R-Bugs не место, чтобы спросить
вопросы. "и закрыл запрос на изменение.
у кого-нибудь есть подсказки?