这段代码在控制台应用程序中工作,但在 NUNIT 测试中不起作用
本文关键字:工作 但在 NUNIT 不起作用 测试 应用程序 控制台 段代码 代码 | 更新日期: 2023-09-27 17:56:21
简单的控制台应用程序打开连接没有任何问题:
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操作系统: 视窗 7 x64
问题导致文件夹名称中的括号。(C:''程序文件 (x86))
如果我从文件夹 c:''something(nunit)'' 运行 nunit,我得到同样的错误。
将 VS 路径替换为短 8.3 名称对我没有帮助。所以不得不安装Oracle客户端11,问题就消失了。
检查以下内容是否有帮助: http://ora-12154.ora-code.com/