Как использовать атрибуты AutoFixture для получения ссылки на FakeTimeProvider, когда моя SUT зависит от TimeProviderC#

Место общения программистов C#
Ответить
Anonymous
 Как использовать атрибуты AutoFixture для получения ссылки на FakeTimeProvider, когда моя SUT зависит от TimeProvider

Сообщение Anonymous »

Предположим, у меня есть Служба, которая зависит от TimeProvider.
Что мне делать сейчас, чтобы настроить использование FakeTimeProvider для моего тесты с использованием AutoFixture и Moq:

Код: Выделить всё

public class FakeTimeProviderCustomization : ICustomization {
public void Customize(IFixture fixture) {
fixture.Customize
(c => c.FromFactory(() => new FakeTimeProvider()));
}
}

public class MoqAutoDataAttribute : AutoDataAttribute {
public MoqAutoDataAttribute()
: base(() => new Fixture()
.Customize(new AutoMoqCustomization())
.Customize(new FakeTimeProviderCustomization())
) {
}
}

[Theory, MoqAutoData]
public async Task Test_TimeRelatedStuff(
[Frozen] TimeProvider timeProvider,
Service sut) {

...
var fakeTimeProvider = timeProvider as FakeTimeProvider;
...
Могу ли я избежать приведения к FakeTimeProvider, которое мне сейчас приходится делать каждый раз?

Подробнее здесь: https://stackoverflow.com/questions/793 ... when-my-su
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»