私はdelftfews
ここオフィスでRパッケージ()を書いています。svUnit
ユニットテストに使用しています。
DEACTIVATED
新しい機能を説明するためのプロセス:最初は;とマークされた新しい単体テストを定義します。一度に1ブロックのテストをアクティブにして、テストで説明されている機能を実装します。ほとんどの場合、削除される可能性のある、または実装される可能性のある関数に比べて、少量のDEACTIVATEDテストがあります。
私の問題/質問は次のとおりです。非アクティブ化されたテストがある場合にNOTE(つまり「OK」ではなくカスタムメッセージ「NOTE」)を 発行するようにdoSvUnit.Rを変更できますか?R CMD check pkg
現在のところ、アクティブなテストでエラーが発生しないことがわかります。
.
.
* 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の2人のメンテナに連絡したところ、Rのソース、特にtesting.R
スクリプトを教えてくれました。
私がそれを正しく理解している場合、この質問に答えるには、tools
パッケージにパッチを適用する必要があります。
- テストディレクトリ内のスクリプトは、
system
呼び出しを使用して呼び出されます。 - 出力(stdoutおよびstderr)は1つのファイルに移動します。
- 2つの可能な結果があります:okまたはnot ok、
そこで、Rで変更要求を開き、リターンステータスのビットコーディング、ERRORのビット0(現在の状態)、WARNINGのビット1、NOTEのビット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
Brian Ripleyは、「ただし、必要に応じてシグナルを送信する、適切に記述された単体テストを備えたパッケージがいくつかあります。このディスカッションは他の場所で行ってください。R-bugsは質問をする場所ではありません。」変更リクエストを閉じました。
誰かヒントがありますか?