2017-11-04 10 views
0

私はそのさえバイナリにコンパイルされないように は完全にアウトスタブにしたい私のアプリのGPSのテストに使用テストコードを持っています。 その簡単な方法は、私がテストしたい 様々なものをコードベース全体でオン/オフテストをオンにします。swift #pragma replacementをプロダクションと開発(つまり#if TEST_CODE == 1)でスタブしますか?

#define TEST_CODE == 1 

例えば、このようにそれを使用します:私はどうなるのObjective-Cで

- (void) viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 

#if TEST_CODE == 1 
    addressTextField.text = @"My Real Address"; 
#endif 
    ... 
} 

バイナリが '文字列' コマンドのようなものを検索することができるので、 私は迅速にそれをする方法はありませんが私の知る限り 、私のテストのもののいずれかが生産に到達する必要はありません。

誰もがこれを行うだろう任意のソリューションを持っていますか?

そうするメカニズム のいくつかのタイプを持っていないSWIFTの欠乏のように思えます。私は#プラグマをこのように使用する唯一の人になることはできません。

答えて

0

スウィフトの等価は、条件付きコンパイルです。

デバッグ設定のOTHER_SWIFT_FLAGSビルド設定で条件フラグを-DTEST_CODEに設定できます。フラグ値はサポートされませんことを

#if TEST_CODE 
    // conditionally do something 
#endif 

注意をので、あなたは、詳細については値1

を渡すことはできません:すると、次のようなスウィフトのファイルからそれを参照することができUsing Swift with Cocoa and Objective-C (Swift 4): Preprocessor Directives

関連する問題