Просто пример: У меня есть класс, который реагирует на задание свойств. Более конкретно, есть три свойства, из которых сборка загружается после их установки. После этого запускается событие.Сделать присвоение недвижимости Действие
Мой модульного тестирования для такого поведения выглядеть примерно так:
bool assemblyLoaded = false;
loader.AssemblyLoaded +=() => assemblyLoaded = true;
loader.Type = "someType";
Assert.IsFalse(assemblyLoaded); // not loaded, only one property was set
Это привело бы к трем модульных тестов, один тест для каждого свойства. Поэтому я хотел бы абстрагироваться испытание с использованием методы помощи (см ниже), чтобы избежать репликаций коды:
private void Testfoobar(Action setProperty)
{
bool assemblyLoaded = false;
loader.AssemblyLoaded += (sender, args) => assemblyLoaded = true;
setProperty();
}
К сожалению, я не могу сделать присвоение имущества в действие.
Итак, интересно, можете ли вы каким-то образом «трансформировать» задание в действие? Или может быть другой способ абстрагировать код?
Какую ошибку вы получаете? –