【问题标题】:piece of code works in console application, but does not works inside nunit test一段代码在控制台应用程序中有效,但在 nunit 测试中无效
【发布时间】:2012-08-06 13:48:56
【问题描述】:

简单的控制台应用打开连接没有任何问题:

    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:could not resolve the connect identifier specified

显然是环境中的问题。

如何“配置”nunit 以使用与控制台应用程序“相同”的设置

一些细节:

目标框架:4.0 目标平台:x86 单元 2.5.9 操作系统:Windows 7 x64

【问题讨论】:

  • 我也有这个问题,一直找不到解决办法。

标签: c# oracle nunit oledb nunit-2.5.9


【解决方案1】:

问题导致文件夹名称中的括号。 (C:\Program Files (x86))

如果我从文件夹 c:\something(nunit)\ 运行 nunit,我会遇到同样的错误。

将 VS 路径替换为 8.3 短名称对我没有帮助。所以必须安装 Oracle Client 11,问题就解决了。

【讨论】:

    【解决方案2】:

    检查以下是否有帮助:http://ora-12154.ora-code.com/

    【讨论】:

    • 谢谢,但我知道 ORA-12154 的意思是,我需要知道使用 nunit 的环境与控制台应用程序相比的差异
    猜你喜欢
    • 2019-05-23
    • 1970-01-01
    • 2015-06-21
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    • 2014-12-06
    • 2019-05-21
    • 1970-01-01
    相关资源
    最近更新 更多