私は、Visual Studio 2008の組み込みユニットテストフレームワークを使用して単体テストしたい接続プールを表す静的クラスを持っています。静的クラスには、最大許容接続のようないくつかの定数があります。私はユニットテストのためにこの値を減らしたいので、テスト条件(具体的には、最大許容接続に達したときのコード)を打つために、たくさんの接続を開く必要はありません。単体テストでこの定数を編集できる方法はありますか?それは私にとって可能ではないようです。C#のユニットテスト用の静的クラスの定数を調整する
解決策の1つは、テストするコードにアクセスするためのもう1つの方法、「最大許容接続」をパラメータとして使用する方法です。それは少しでも汚れているように見えますが、テストしたいコードを修正します。しかし、より良い選択肢はありますか?ここでは参考のために、私のコードの一部です:
internal static class ConnectionPool<T> where T : Connection, new()
{
private const int MAX_OBJECTS = 25;
private static int _totalConnections;
internal static T getConnection(bool testMode)
{
if (_totalConnections >= MAX_OBJECTS)
{
// Here's the code I want to test
}
}
}
"実際の状態が遅すぎるか実用的でないため、テストすることを避けていますか?"はい。ユニットテストを毎晩vごとに分離することについての良い提案。 –