кусок кода работает в консольном приложении, но не работает внутри nunit test - PullRequest
4 голосов
/ 11 мая 2011

Простое консольное приложение, открытое соединение без проблем:

    static void Main(string[] args)
    {
        string connectionString = String.Format(
           @"Provider=OraOLEDB.Oracle;PLSQLRSet=1;Password={0};Persist Security Info=True;User ID={1};Data Source={2};OLEDB.NET=true;FetchSize=5000",
            "pwd", "schema", "server");

        using (IDbConnection con = new OleDbConnection(connectionString))
        {
            con.Open();
            Console.WriteLine("Opened");
        }
        Console.ReadKey();
    }

но если попытаться сделать то же самое в методе тестирования nunit:

public class UnitTest1
{
    [Test]
    public void TestMethod1()
    {
        string connectionString = String.Format(
           @"Provider=OraOLEDB.Oracle;PLSQLRSet=1;Password={0};Persist Security Info=True;User ID={1};Data Source={2};OLEDB.NET=true;FetchSize=5000",
            "pwd", "schema", "server");

        using (IDbConnection con = new OleDbConnection(connectionString))
        {
            con.Open();
        }
    }
}

У меня возникла исключительная ситуация: ORA-12154: TNS: не удалось разрешить указанный идентификатор подключения

Очевидно, что проблема в окружающей среде.

Как «настроить» nunit для использования «тех же» настроек, что и для консольного приложения

некоторые детали:

целевая структура: 4.0 целевая платформа: x86 монах 2.5.9 ОС: Windows 7 x64

Ответы [ 2 ]

1 голос
/ 06 августа 2012

Проблема вызывает скобки в имени папки.(C: \ Program Files (x86))

Если я запускаю nunit из папки c: \ something (nunit) \, я получаю ту же ошибку.

Замена пути VS на короткие имена 8.3 не приводит кПомоги мне.Поэтому пришлось установить Oracle Client 11 и проблема исчезла.

0 голосов
/ 11 мая 2011

Проверьте, помогает ли следующее: http://ora -12154.ora-code.com /

...