В настоящее время я создаю набор правил для поддельных данных, используя Bogus. Они будут использоваться набором фиктивных сервисов. Под этим я подразумеваю, что создаю макет службы поиска, которая возвращает поддельные данные.
Для большинства служб введенные критерии поиска должны влиять на выходные данные (например, если вы используете службу для поиска организаций, базирующихся в Мексике, поддельные данные должны включать только адреса, находящиеся в Мексике). Если вы ищете организации с именами, начинающимися с «Micro*», я хочу иметь возможность использовать этот ввод, чтобы влиять на то, как создаются данные.
До сих пор мне удавалось это делать путем создания подкласса Faker
и предоставления собственного метода Generate
, который принимает некоторые входные данные. Затем я могу вызвать метод Faker.Generate()
, разрешить ему предоставить некоторые данные, а затем изменить определенные поля, прежде чем передать их обратно.
Этот метод работает до определенной степени, но не особенно гибок, и я чувствую, что должен быть лучший способ сделать это. Я вставил образец этого обходного пути ниже.
// This shows my current workaround
public static Organization Generate(string searchCode)
{
var organization = Faker.Generate();
organization.Code = searchCode;
return organization;
}