2016-04-12 10 views
1

インストールされたパッケージをテストしたいが、これはエラーを返す。testthatでインストールされたパッケージをテストするには?

library(testthat) 
test_package("testthat") 
# Error: No tests found for testthat 

test_package(source heresystem.file("tests", package = package)が空であるため、このエラーを返します。実際には、インストールされているパッケージにtestsディレクトリがありません。

list.dirs(system.file("", package = "testthat")) 
# [1] "/home/paul/R/x86_64-pc-linux-gnu-library/3.2/testthat/"  
# [2] "/home/paul/R/x86_64-pc-linux-gnu-library/3.2/testthat//help" 
# [3] "/home/paul/R/x86_64-pc-linux-gnu-library/3.2/testthat//html" 
# [4] "/home/paul/R/x86_64-pc-linux-gnu-library/3.2/testthat//libs" 
# [5] "/home/paul/R/x86_64-pc-linux-gnu-library/3.2/testthat//Meta" 
# [6] "/home/paul/R/x86_64-pc-linux-gnu-library/3.2/testthat//R" 

テストディレクトリが存在するようにパッケージをインストールするにはどうすればよいですか?

答えて

2

著者は、彼らがパッケージと一緒にインストールされることはありません、あなたがインストールしたパッケージを経由してテストを実行することはできません、inst/ディレクトリにテストを置くしないことを選択した場合。

だから、ソースパッケージと再インストールを変更する短いあなたができることは何も、ありません。しかし、その時点で、ソースパッケージでテストを実行するだけでよいでしょう。

+0

私はインスト/ tests'は、[この他の回答](HTTPに記載されている 'を参照してください。しかし、また、単なるテストだから、おそらくあなたがソースパッケージをダウンロードして実行最高研/

である場合に動作します/stackoverflow.com/a/19287167/2641825)。ソースパッケージでテストを広めたいのであれば、inst /ディレクトリに配置する必要があります。なぜHadleyは[彼のパッケージテストの章](http://r-pkgs.had.co.nz/tests.html)でこれについて言及しなかったのですか? –

+0

@PaulRougieux:なぜ彼はそれについて言及しなかったのか分からない。あなたは彼に尋ねることができる。 –

+0

私のオリジナルの意図は、ソースパッケージとテストを共有することでした。私は単に 'tests'を' inst/tests'に移動し、パッケージを再構築して、 'testthat :: test_package()'が動作するようにしました。 –

0

あなたは

tools::testInstalledPackage("package") 

でパッケージをテストすることができます。しかし、私はそれだけでも、テストをインストールする

install.packages("testthat", INSTALL_opts = "--install-tests") 

もあり、テストはインスト/

である場合にのみ機能だと思いますその包み。 /:

devtools::test() 
関連する問題