Я новичок в написании модульных тестов. Я использовал PrivateObject для доступа и изменения частного члена класса, чтобы использовать его во время тестирования.
Однако, если я хочу получить доступ к частной переменной метода, который я тестирую, как я могу это сделать. Я не буду менять какие-либо функции, но мне нужно изменить переменную, чтобы завершить модульный тест.
Это то, что я пытаюсь сделать. В классе ABC я хочу изменить dwConn, поскольку у меня не будет доступа к SqlConnectionManager для модульных тестов, но я могу получить к нему доступ во время работы приложения. Большое спасибо, что прочитали это. Любая помощь reg это было бы хорошо.
public class ABCTest
{
public void MethodATest()
{
const string connectionString = @"Data Source=servername\MSSQLSERVER2008;Initial Catalog=DB1;User ID=user1;Password=pswd1";
SqlConnection sqlConn = new SqlConnection(connectionString);
PrivateObject param0 = new PrivateObject(target);
param0.SetField("dwConn", sqlConn);
actual = target.MethodA();
}
}
public Class ABC()
{
Method A()
{
SqlConnection dwConn = (SqlConnection)SqlConnectionManager.Instance.GetDefaultConnection();
using(dwconn)
{
//some stuff
}
}
}