У меня есть метод, который принимает роли пользователей ldap и оценивает каждую из его/ее ролей в списке, который называется ValidRoles, в файле web.config веб-сайтов. Мы предположим, что роли пользователей будут оставаться одинаковыми для разных пользователей для целей этого теста.Сценарий тестирования устройства
Теперь я хотел бы обмануть метод в следующем списке (а не в моем web.config) для сравнения с тем, когда я запускаю свой модульный тест. Как это сделать? Я новичок в модульном тестировании. Я ценю любые предложения. Метод, который я тестирую, ValidRoles из web.config и существующий модульный тест, который у меня есть, показаны ниже.
private bool IsValidClaimStationRoles()
{
foreach (string role in RoleList)
{
if (role != null)
{
if (ValidRoleList.Contains(role.ToUpper()))
{
return true;
}
}
}
return false;
// Допустимые роли из web.config
<add key="ValidRoles" value="C-2,CP-1,CM-1,CIS-1,CID-1"/>
// Unit тест
[TestMethod()]
[DeploymentItem("ClaimsDocMgmtLinkWeb.dll")]
public void IsValidClaimStationRolesTest_Negative()
{
AuthenticateUser_Accessor target = new AuthenticateUser_Accessor(); // TODO: Initialize to an appropriate value
target.CreateTicket();
bool expected = false;
bool actual;
actual = target.IsValidClaimStationRoles();
Assert.AreEqual(expected, actual);
}
Посмотрите на насмешку (MOQ) или поддельные (подделки). Это позволяет вам подделывать определенные объекты, методы, необходимые для тестирования ваших методов. – Marko
- это тесты в другом проекте? обычно тестовый проект может иметь свой собственный файл конфигурации – tim
Да. На самом деле тесты находятся в другом .NET-решении. – Jazzcatone