【发布时间】:2021-05-13 23:02:16
【问题描述】:
我正在尝试为我的实际项目设置测试环境,但无法连接到我的测试数据库,我们没有模拟。
我使用一些代码来确定是这样的设计时间还是运行时间:
ConnectionStringSettings connString = null;
string myConnString = null;
bool designMode = (LicenseManager.UsageMode == LicenseUsageMode.Designtime);
if (designMode)
{
connString = new ConnectionStringSettings()
{
ConnectionString = "metadata=res://*/Seguridad.csdl|res://*/Seguridad.ssdl|res://*/Seguridad.msl;provider=System.Data.SqlClient;provider connection string=\"data source=****ServerName****;initial catalog=****DbName****;persist security info=True;user id=****user****;password=****pwd****;MultipleActiveResultSets=True;App=EntityFramework\""
};
DebugConnection Cx = DebugModeConnections.GetConnection("Desarrollo");
_usuario = Cx.Usuario;
_password = Cx.Password;
_ServerName = Cx.Server;
_DbName = Cx.Db;
}
else
{
foreach (ConnectionStringSettings conn in ConfigurationManager.ConnectionStrings)
{
if (conn.Name == ConfiguracionApp.NombreContextoDb)
connString = conn;
}
}
它适用于我的设计和运行时,并允许我使用真实数据进行 GUI 设计。但是现在我想实施测试,但它并没有像我预期的那样工作。
有一种方法可以确定编译器是否处于测试时间或我可以使用的 LicenseManager.UsageMode 之类的东西?
【问题讨论】:
-
“测试模式”是什么意思?
-
如果您看到我的代码,我使用 LicenseManager.UsageMode 来确定如何连接到我的数据库,有一种方法可以确定我的代码是否正在运行或被调用以进行测试?
-
@LasseV.Karlsen 这意味着 muy 代码如何知道它是否被测试框架调用。或者换句话说,有一种方法可以让我的代码知道测试框架是否正在运行?
-
您使用哪个框架进行测试?
-
您可能会在这个问题中找到一些有用的信息:stackoverflow.com/q/3167617/5311735
标签: c#