0

R パッケージ ( https://github.com/beerda/hexmatrix )をテストするために testthat を使用しています。最近、C++ のテストを開始testthat::use_catch()しました。C++ Catch を使用した単体テスト用のパッケージをセットアップする必要がある を実行し、いくつかのテストを作成しました。によって実行された場合、テストは正しく実行されdevtools::test()ます。ただし、R CMD checkまたはを実行しようとするdevtools::check()と、次のエラー メッセージが表示されます。

    Running ‘testthat.R’ (1.8s)
   Running the tests in ‘tests/testthat.R’ failed.
   Last 13 lines of output:
     > test_check("hexmatrix")
     ── Error (test-cpp.R:1:1): (code run outside of `test_that()`) ─────────────────
     Error: The xml2 package must be installed in order to use `run_cpp_tests()`
     ℹ Do you need to run `install.packages('xml2')`?
     Backtrace:
         █
      1. └─testthat::run_cpp_tests("hexmatrix") test-cpp.R:1:0
      2.   └─testthat:::check_installed("xml2", "run_cpp_tests()")
     
     ══ testthat results  ═══════════════════════════════════════════════════════════
     Error (test-cpp.R:1:1): (code run outside of `test_that()`)
     
     [ FAIL 1 | WARN 0 | SKIP 0 | PASS 909 ]
     Error: Test failures
     Execution halted

xml2 パッケージがインストールされ、rlang::check_installed("xml2") が TRUE を返します。

何らかの形で接続されているかどうかわからない: コマンドを手動で実行しようとするとrun_cpp_tests("hexmatrix")、次のエラーが表示されます。

Error in read_xml.raw(charToRaw(enc2utf8(x)), "UTF-8", ..., as_html = as_html,  : 
  XML declaration allowed only at the start of the document [64]

何がうまくいかないのか誰にも分かりませんか?前もって感謝します。

4

2 に答える 2

0

ライブラリ xml2 を明示的に使用していないため、これは testthat の依存関係であってはなりません。

于 2020-11-27T14:21:14.673 に答える