2015-10-04 12 views
8

私はtestthatを使用して私のパッケージのコードをチェックしています。私のテストの中には、コンストラクタやゲッタのような基本的な機能があります。その他の機能は、基本機能の上に構築される複雑な機能です。基本テストが失敗すると、複雑なテストが失敗することが予想されるため、さらにポイントテストは行われません。testでテスト順序を決定することは可能ですか?

は、することが可能です:

  1. テストの失敗は、あなたの質問に答えるために、テスト・プロセス

答えて

5

を停止してください、私は「ドン基本的なテストは常に最初

  • を実行していることを確認しあなたのtest-*.Rファイルに適切な英数字の名前を付ける以外の方法で判断できると思います。

    testthatソースから、これはテストを取得するには、TEST_DIR経由して、通話をtest_package機能である:

    find_test_scripts <- function(path, filter = NULL, invert = FALSE, ...) { 
        files <- dir(path, "^test.*\\.[rR]$", full.names = TRUE) 
    

    だけで複雑なタスクは、とにかく、最初の失敗させると間違っていますか?

  • +0

    *「何が間違っていますか?」*?私の最初の考えは、「失敗する時間を待っている」と尋ねる「時間を計算する時間」です。 (私のプロジェクトでは、すべてのテストを実行するには15〜20分かかりますが、テスト間に依存関係があります:環境を設定するテストと、コンポーネントを再利用するテストがあります。全部) – r2evans

    +1

    フェアポイント。テストを分けることは難しいですが、CRANテストで実行されているテストだけが重要です。特定のテストスイートを実行するには、コマンドライン引数だけが必要ですが、Rstudioと全く統合されていないため、2つのグループ間でテストコンテンツを共有したり、testthatを使用すると、多大なメンテナンスや休憩が必要になります。私はあなたに同意する! –

    関連する問題