Как я могу настроить AutoFixture для следующего испытания блока:AutoFixture UnitTest Параметр Настройка
[Theory, ... ] // <- what goes here?
public void MyTest(int param1, string param2)
{
...
}
Первый параметр может принимать случайным образом целые числа, так AutoFixture естественно подходит. Второй не может быть таким же. Мне нужен второй, чтобы принимать значения из динамически созданного списка значений, который неизвестен во время компиляции. Мне нужно сказать это в AutoFixture, но я не знаю, как это сделать.
EDIT:
В моем конкретном случае, что мне нужно, что строка пары быть именем свойства какого-либо типа. Я хотел бы сказать AutoFixtue: «Эй, для Param2, взять случайную строку из этого списка, где список является myType.GetPropertyNames()
ли AutoFixture поддерживает этот сценарий
Но вам нужно знать значения во время компиляции. Что делать, если «предопределенные» строки являются именами свойств какого-либо типа? Мне нужно иметь возможность передавать действительные строки в свой тестовый метод без их жесткого кода. Это возможно? –
> «Но вам нужно знать значения во время компиляции». Точно. Если вы хотите проверить какое-то поведение и случайные данные недостаточно, вы _need_ должны знать значения во время компиляции. В противном случае, как вы будете проверять правильность вашей системы, если данные тестового ввода не указаны? –
Я не чувствую, что он должен быть либо полностью случайным, либо полностью жестко закодированным значением. Я хотел бы передать тестовые данные, которые каким-то образом отформатированы для моего теста, чтобы иметь смысл. В моем конкретном сценарии мне нужно, чтобы переменная string была именем свойства некоторого типа. Я хотел бы сказать AutoFixtue: «Эй, для param2, возьмите случайную строку из этого списка, где список - myType.GetPropertyNames()». –