我有一个带有[DataSource(“ ConnectionStringName”)]和自定义属性函数的单元测试函数,以及一个将在实际测试方法运行之前执行的'ClassInitialize'装饰方法。
在“ ClassInitialize”修饰方法中,我基于我的自定义属性在配置文件中添加了不同类型的数据源连接字符串。
问题出在调用我的单元测试函数的“ ClassInitialize”方法之前,以验证配置中是否提供了连接字符串名称“ ConnectionStringName”,因此给出了像这样的异常:在数据源中找不到数据源“ ConnectionStringName”测试配置设置” ,然后调用“ ClassInitialize”修饰的方法,该方法无法更新配置文件中的连接字符串。
任何调用类初始化装饰方法的技巧,即使在任何测试方法的配置设置中都找不到连接字符串。
下面是我的代码。
[ClassInitialize]
public static void TestSetup(TestContext context)
{
DataSourceConnectionHelper sourceConnectionHelper = new DataSourceConnectionHelper(typeof(AccountControllerTest), context.FullyQualifiedTestClassName, context.TestName);
var status = sourceConnectionHelper.UpdateConnection();
}
[CsvDataConnection(@"DataSource\UserData.csv")]
[DataSource("ConnectionStringName")]
[TestMethod]
public void UserValidationTest()
{
}