2016-12-24 8 views
0

パース)は(Rstudioテスト環境とトラヴィス

test_that('parseMe',{ 
    expect_that(parseMe('print("hey")'), is_a('data.frame')) 
}) 

testthat

parseMe <- function(text) { 
    parsed = parse(text = text) 
    str(parsed) #for diagnosis 
    getParseData(parse(text = parsed)) 
} 

この機能を使用してテストされ、単一の機能を持っていparseMeパッケージの属性を返しません。 Rstudioのコマンドラインからインタラクティブに、このテストに合格します。しかし、Rstudioテスト環境(v0.99.892)( "ビルド"タブからテストする場合)は、parse関数が属性(strのためにテスト出力に表示される)を返さないため、このテストは失敗します。同様のテストはtravis-ciでも失敗します。これの理由は何ですか?どのように解決することができますか?以下は

parse(..., keep.source = TRUE)場合、属性のみ保持され、私が使用して、最小限のテストパッケージへのリンクとトラヴィステストログ

+0

実際には問題のようです。なぜ答えません? – OganM

+0

ちょうどそれを自分でしました。あなたがそれを書くなら、私はそれを受け入れるでしょう – OganM

答えて

1

です。 keep.sourceのデフォルト値はから、?parseのドキュメントに記載されています。デフォルトのオプション値は、Rを対話的に実行するか、非対話的に実行するかによって異なる可能性があります。常にソースを保持したい場合は、それをTRUEに設定する必要があります。

関連する問題