Как я могу избежать необходимости вызова этого дополнительного метода при выполнении моего модульного теста? Я хочу, чтобы как-то, чтобы этот контекст объект, созданный в конструкторе для использования в тестовом модулеКак распределить переменную класса между единичным тестом и другим классом?
[TestMethod]
public void Delete_Sp_List()
{
ctx = tf.GetContext();
List list = ctx.Web.Lists.GetByTitle("StackTicketList");
list.DeleteObject();
ctx.ExecuteQuery();
}
public TicketForm()
{
SecureString ssPwd = new SecureString();
strPassword.ToList().ForEach(ssPwd.AppendChar);
SharePointOnlineCredentials credentials = new SharePointOnlineCredentials(strUserName, ssPwd);
ctx.Credentials = credentials;
}
public ClientContext GetContext()
{
SecureString ssPwd = new SecureString();
strPassword.ToList().ForEach(ssPwd.AppendChar);
SharePointOnlineCredentials credentials = new SharePointOnlineCredentials(strUserName, ssPwd);
ctx.Credentials = credentials;
return ctx;
}
Это спасет меня от линии перед каждым модульным тестом. Но я думал о зависимости Injection или о том, что я предполагаю. Я действительно не понимаю этого, но я чувствую, что должен быть лучший способ не повторять код в конструкторе – punkouter
Или другими словами ... ctx = tf .GetContext(); вместо этого может быть ctx = tf. TheConstructor; но это не работает, поскольку конструктор не возвращает объект Context – punkouter