2017-08-09 4 views
1

私は4つの機能を使用する光沢のあるアプリケーションを持っています。私はこれらの機能をテストしたいと思いますが、パッケージではありません。私のコードをどのように構造化するのですか? devtoolsなしでこれらのテストを実行しますか?パッケージなしのテストでユニットテストを実行する

+0

なぜ 'devtools'なし? – drmariod

+0

@drmariod:私は自分のRプロジェクトでそれを使うことができず、なぜパッケージを作成せずにそれを設定するのか分からない... –

答えて

0

パッケージ構造のない機能がほとんどない場合は、Rscript test_file1.Rで呼び出す単一のテストファイルを手作業で(つまり、単純なif/errorキャッチシステムで)書く方が良いでしょう。

あなたは(開発、さらに「安全」のためのことをお勧めしている)の代わりにパッケージフォーマットの使用を開始するとあなたはまだtestthatを使用しない場合、私はこのブログの記事に従うことをアドバイス:here

1

あなたはtestthat::test_dir()またはtestthat::test_file()でテストを実行できます。パッケージに含まれているコード、またはdevtoolsを使用しているtestthatパッケージのコードに依存しません。

コードの構造の必要条件はほとんどありません。 それは私だったら、私のようなものになりますこれは、testsディレクトリを作成し、そこの下で私のテストスクリプトを追加します。あなたはにいると仮定すると、次にあなたがtest_dir('tests')でテストを実行することができます

|- my_shiny_app | |- app.R | |- tests | |- test_foo.R | |- test_bar.R

my_shiny_appディレクトリ。

あなたのテストスクリプトは同じstructure they have for packagesになりますが、機能が定義されているファイルを参照するsource()library()の呼び出しを置き換えます。

関連する問題