2017-01-09 13 views
0

ビジュアルスタジオコードでテストデータファイルを読み込み、HtmlDocument(HtmlAgilityPack)に読み込んでParserクラスをテストする必要があるユニットテストセットアップがあります。クラスのトップで私は、ファイルパスがI「デバッグテスト」またはコマンドラインから「DOTNETテスト」を行うかどうかに応じて変更するようだと、私はの#if DEBUGを使用していたテストのビジュアルスタジオコードでDEBUGフラグを使用できません

public class MegaParserTests{ 

private HtmlDocument _hd; 
private MegaParser _parserUT; 

public ParserTests() { 
    _parserUI = new MegaParser(); 
    _hd = new HtmlDocument() 

#if DEBUG 
    filePath = "data/theDoc.html"; 
#else 
    filePath = @"../../../data/theDoc.html"; 
#endif 

    var docStr = File.ReadAllText(filePath); 
    _hd.LoadHtml(doc); 
} 
} 

を持っています。しかし、私がドットネットテストを行うと、トップの "#if DEBUG"条件がヒットし、私は間違ったファイルパスを取得します。なぜ私は実行時にドットネットテストを実行するとデバッグモードになっていると思うのですか?これをどのように変更できますか?

答えて

1

実際dotnet testcommandは、デフォルトでReleaseビルド構成を使用しています...リリースは、構成構築強制的に-configurationフラグを使用してみてください:

dotnet test -c Release 

-cを|下--configuration

設定ビルドする。デフォルト値はReleaseです。

関連する問題