次のようなクラスがあります。
public class Processor
{
//set timeout in seconds
private const int TIMEOUT = 600;
public void Process()
{
//DO SOMETHING HERE
//CHECK TO SEE IF TIMEOUT HAS BEEN HIT
}
}
基本的に、指定された時間が経過した後にタイムアウトが発生するかどうかを確認するための単体テストを作成します。もちろん、テストを実行するたびに10分待つ必要はありません。これを念頭に置いて、私の質問は次のとおりです。
この値を管理して、テストでは10秒、本番環境では10分になるようにするにはどうすればよいでしょうか。これを行うには多くの明白な方法がありますが、私は最もクリーンな方法が何であるかを判断しようとしています。これをプロパティとして公開する必要がありますか?コンストラクターパラメーターとして含めますか?メソッドパラメータとして含めますか?コンパイラ指令を使用しますか?