inst/extdata
Rcpp Catch2 テストからファイルのデータ ファイルにアクセスしようとしています。ファイル ツリーは次のようになります。
├── inst
│ └── extdata
│ └── data-sample
├── R
│ ├── catch-routine-registration.R
│ └── RcppExports.R
├── src
├── mycode.cpp
├── RcppExports.cpp
├── Package_types.h
├── test-example.cpp
└── test-runner.cpp
これは、devtools を使用して新しいパッケージ スケルトンから得られるものと似ていると思います。data-sample
これで、次のように非常に簡単に testthat テストからこのファイルにアクセスできます。
system.file(
"extdata", "data-sample", package = "Package", mustWork = TRUE
)
そして、必要に応じて使用してください。この時点で、これがインストール済みパッケージからのグローバル パスを使用していることは認識していますが、この値を C++ テストに渡す方法が見つかりません。現在、ハードコードされたパスを使用していますが、明らかに私のマシンでしか機能しません。
これは私が現在使用しているものです:
const std::string DATAFILE = "/my/package/inst/extdata/data-sample";
これはファイルを読み取るための関数であるため、これを埋め込むことはできませんが、それでも知りたいのですが、R データを Rcpp/Catch テストに渡す方法は?
前もって感謝します!