Я пытаюсь написать свой первый модульный тест для одного из моих уровней обслуживания. Я использую nunit и moq (последние версии).Как выполнить модульное тестирование
У меня есть репо, но я буду издеваться над этим, что не проблема.
public void Create(string email, int id)
{
User user = Repo.GetUserByEmail(email); // mock this out. and return a mocked user.
if user != null)
{
// check permission
var clearence = GetPermissions(user, PermissionTypes.Add, id);
// some other stuff
}
}
private static List<Permissions> GetPermissions(User user, PermissionTypes PermissionNeeded, int id)
{
List<PermissionLevel> clearence = user.PermissionLevels.Where(u => u.id == id &&
(u.Permission.Name == PermissionNeeded || u.Permission.Name == PermissionTypes.Owner)).ToList();
return clearence;
}
Это то, что у меня есть.
Теперь, что меня заставляет, это разрешение. Я не уверен, как это сделать. Я не уверен, должен ли я сделать объект пользователя, у которого есть allowLevels в нем, который содержит идентификатор.
Я не уверен, могу ли я издеваться над этим, но я сомневаюсь, так как это личное.
Вторая проблема заключается в том, что я не уверен, как создать «id», поскольку «id» находится в классе домена, который имеет частный набор, потому что он был стандартным для nhibernate.
Так что я не уверен, как обойти это.
Какой код вы хотите проверить? 'GetPermissions' или" // некоторые другие вещи "? –
dv-Jan de Vaan - другое, что я думаю. Что в основном является выражением if для проверки разрешения, то если хорошо создать задачу (другое дело в моем репо). Если нет, то ошибка проверки. Сначала мне нужно получить этот метод, и он должен вернуть счетчик> 0. 0. – chobo2