2012-02-22 3 views
3

AppHarborはビルド中に条件付きコンパイルシンボルを設定できますか?たぶん、単純に:私は、サーバー上で実行することはできませんいくつかのテストを持っているAppHarborAppHarborはビルド中に条件付きコンパイルシンボルを設定できますか?

(彼らは、テスト・データ・ファイルに依存しています)。

AppHarborは、条件付きコンパイルシンボルを設定することができれば、私はそのシンボルが存在する場合、テストの属性を[無視]追加することができます。

また、AppHarborで実行しているときに特定のテストを無視する方法がありますか?

それとも、正しくプロジェクトに存在するテストデータファイルを参照するためのテストコードのための方法は何ですか?

ありがとうございます! グレン

編集:私はテストプロジェクトでリソースとしてデータファイルを埋め込むことで動作するようにテストを受けました。理想的ではありませんが、今は大丈夫です。しかし、記述されているようにコンパイルシンボルを設定できるかどうかは分かります。 「AppHarbor」コンパイルシンボルを設定

答えて

4

は興味深い提案ですが、それは現在AppHarborではサポートされていません。それをfeature requestとして追加することもできます。あなたのテストを実行している

ときEnvironmentのAppSettingはtestに設定されています。条件付きでそれを使用して、特定のテストをスキップすることができます。独自の設定を使用する場合は、Web.Test.Configファイルを使用して、必要な変換を適用して、テストを実行するかどうかを判断できるようにします。

どちらの方法も、​​に記載されています。

一般的には、テストを実行するときに存在しないファイルに頼らないようにすることをお勧めします。これにより、アプリケーションはどのCI環境でも動作します。あなたが記述した埋め込みリソースとしてファイルを含めることはオプションですが、Build ActionプロパティをContentに設定してプロジェクトに含めることも可能であり、出力ディレクトリで利用できるようになります。

+1

であれば( "試験" == ConfigurationManager.AppSettings [ "環境"]){ Assert.Ignore( "AppHarborに無視さ")。 } – harriyott

0

は@runesorensenの答えに追加する: あなたは、app.configファイルを持つべきでテストを無視したい各テストプロジェクト、そうでない場合は、「環境」アプリの設定はnullになります。

関連する問題