Я могу сделать это по-другому, например, проверить значения, но я хочу создать метод.У меня есть два метода в одном классе SomeService.cs
Код: Выделить всё
public void Reset(DateTime currentTime)
{
var lastUpdate = GetLastUpdate();
if (ShouldReset(currentTime, lastUpdate)) // always true
ResetValues();
}
public void ResetValues()
{
//////
}
Код: Выделить всё
[Test, AutoMoqData]
public void Reset_ShouldReset_123(
[Frozen] Mock mockPreferences,
[Frozen] Mock mockSomeService)
{
var lastUpdate = new DateTime(2024, 11, 2, 23, 50, 0);
var currentTime = new DateTime(2024, 11, 3, 3, 00, 0);
mockPreferences
.Setup(p => p.Get(It.IsAny(), It.IsAny(), null))
.Returns(lastUpdate);
var someService= new SomeService(mockPreferences.Object, default!, default!,
default!, default!);
someService.Reset(currentTime);
mockSomeService.Verify(x=>x.ResetValues(), Times.Once);
}
Код: Выделить всё
Expected invocation on the mock once, but was 0 times: x => x.ResetValues()
Я пытаюсь написать тест, который проверяет, был ли вызван метод
Подробнее здесь: https://stackoverflow.com/questions/791 ... same-class
Мобильная версия