Как сгенерировать словарь с помощью Autofixture

Для списка мы можем сделать

fixture.CreateMany<List<string>>(1000); // with 1000 elements

но как это сделать со словарем? И чтобы иметь возможность указывать количество элементов, которые должны быть сгенерированы

Ответы

Ответ 1

Вы можете просто создать элементы, а затем построить словарь, например:

fixture
  .CreateMany<KeyValuePair<int, string>>(1000)
  .ToDictionary(x => x.Key, x => x.Value);

Это более или менее то, что AutoFixture делает внутренне.

Другой альтернативой могло бы стать создание новой функции ICustomization, которая перехватывает запросы для любого Dictionary<,> и строит их. Он может быть реализован с использованием кода из существующих классов.