代码片段在控制台应用程序中可以正常运行,但在NUnit测试中无法正常工作。

4

简单的控制台应用程序可以在没有任何问题的情况下打开连接:

    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 nunit 2.5.9 操作系统:Windows 7 x64


我也有这个问题,但一直没有找到解决方法。 - Chris Missal
2个回答

1
问题的原因是文件夹名称中有括号。 (C:\Program Files (x86))
如果我从文件夹 c:\something(nunit)\ 运行 nunit,我得到相同的错误。
将 VS 路径替换为短 8.3 名称对我没有帮助。所以不得不安装 Oracle 客户端11并解决了这个问题。

0

1
谢谢,但我知道ORA-12154的意思,我需要知道使用nunit与控制台应用程序相比的环境差异。 - Michael Pakhantsov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接