Тесты Moq Xunit работают локально, но не AzureDevops

#c# #testing #azure-devops #moq #func

#c# #тестирование #azure-devops #moq #функция

Вопрос:

 var mock = new Mock<IMyClass>(); 

mock.SetupSequence(x => x.MyMethod()).Returns(0).Returns(1).Returns(2). 

Func<IMyClass> func = () => mock.Object);
  

Я пытался имитировать объект при Func<mock.Object> использовании SetupSequence , Queue или Callback .

В дальнейших методах вызывается моя функция, а затем выполняется мой метод интерфейса. Он работает локально хорошо, однако AzureDevops, похоже, принимает только последние возвраты (2). Azure devops не обрабатывает его как последовательность. В моей программе есть цикл, и мне нужно несколько результатов. Из-за этой проблемы утверждение не работает. Azure devops, похоже, не распознает метод mock. У меня есть много рабочих тестов, основанных на moq, но этот такой сложный.

Пожалуйста, помогите.

Комментарии:

1. Можете ли вы предоставить воспроизводимый пример (остальную часть теста) и любую другую информацию из devops (при условии, что это просто сбой, но трассировка стека может иметь подсказку)

2. @rgvlee Я проверил журналы, они не имеют смысла. В журналах записано, что утверждение является ложным. Я добавляю список, и в нем должно быть 3 элемента, но есть только один. Мне было бы сложно привести реальный пример. Сейчас для меня это большой блокиратор, я могу согласиться на любые обходные пути. Я изменил утверждение, чтобы проверить вызов myMethod. Это было проверено только с помощью moq, но должно быть 3 раза. Azure Devops не видит возвратов (0) и возвратов (1)