Вход на сайт
Вопрос к тестировщикам
5427 просмотров
Перейти к просмотру всей ветки
в ответ Murr 07.08.19 18:07
Ну вопрос об том кого мудрый менеджер поставит определять причину Я уже задал. А вот ответа пока не слышал...
Ответ в том, что причина никого не интересует. Тестировщик ли Петя вбил статический ИП или админ Коля перепутал маску подсети - разработчика софта это не интересует. Разработчика интересует может быть такая ситуация или нет.
Нет проблем - пиши враппер второго ИПшника в сети.
Ты сам понял, что спросил?
Ну а враппер будет прост как мычание:
public interface IOracleConnection, IDispocable { string ConnectionString { get; set; } void Open (); } public class OracleConnectionWrapper : IOracleConnection { private OracleConnection oracleConn = new OracleConnection(); public string ConnectionString { get { return oracleConn.ConnectionString; } set { oracleConn.ConnectionString = value; } } public void Open () { oracleConn.Open (); } public void Dispose () { oracleConn.Dispose (); } } public class SomeCoolClass () { // Инекцию можно сделать так, либо через конструктор, либо можно через конструктор передать фабрику... protected virtual IOracleConnection OracleConnection { get { return new OracleConnectionWrapper (); } } public void DoSomething () { using (IOracleConnection oraCN = OracleConnection) { try { oraCN.ConnectionString = ConnectionString; oraCN.Open(); } catch(OracleException oex) { тут будет все что тебе надо - раз - правильно, другой - ошибка... } } } }
Таким образом при вызове Open () или сеттера ConnectionString я в тесте смогу сгенерировать любое исключение и таким образом проверить стабильность кода.