user 3008 Ответов: 2

Модульный тест если еще условие


У меня есть следующий набор кода

if (entity.InterpreterCostAuthorised && entity.InterpreterCostAuthorisedDate == null)
          {
              entity.InterpreterCostAuthorisedDate = DateTime.UtcNow;
          }
          else if (!entity.InterpreterCostAuthorised)
          {
              entity.InterpreterCostAuthorisedDate = null;
          }

          if (entity.ClientChargeAuthorised && entity.ClientChargeAuthorisedDate == null)
          {
              entity.ClientChargeAuthorisedDate = DateTime.UtcNow;
          }
          else if (!entity.ClientChargeAuthorised)
          {
              entity.ClientChargeAuthorisedDate = null;
          }


Может ли кто-нибудь помочь мне написать модульный тест для этого набора операторов

Что я уже пробовал:

я попробовал использовать другой тестовый случай, а также еще два списка

2 Ответов

Рейтинг:
2

F-ES Sitecore

Выберите один сценарий за раз, установите свойства сущности таким образом, чтобы этот сценарий был удовлетворен, а затем проверьте, что свойства сущности, соответствующие сценарию, были настроены.

например, вы сначала захотите проверить, когда InterpreterCostAuthorised имеет значение true, а InterpreterCostAuthorisedDate-значение null, поэтому установите эти свойства для сущности, затем проверьте, что InterpreterCostAuthorisedDate имеет дату, и, возможно, проверьте, что дата находится в пределах 1 минуты от текущей даты. Это все прямолинейные вещи, так что я точно не знаю, в чем проблема?


Рейтинг:
1

dharmesh.parekh

Там будет два метода модульного тестирования

1. сначала проверим, установлен ли InterpreterCostAuthorisedDate с текущим временем или нет / вы можете проверить, является ли поле даты нулевым или нет

Assert.IsNotNull(InterpreterCostAuthorisedDate)


2. second проверит, установлен ли InterpreterCostAuthorisedDate null или нет
вы можете утверждать это с помощью
Assert.Isnull()


Надеюсь, это вам поможет.


Richard Deeming

ДВА ГОДА слишком поздно, и с искаженной версией того, что решение 1 уже сказало.