У меня есть 1 метод модульного тестирования, который требует нескольких параметров. Я хотел бы запустить этот тест один раз для каждого возможного значения декартовой системы с предопределенным списком для каждого параметра. Я предполагаю, что параметры могут быть переданы через тестовый контекст, но я не хочу подключаться к внешней базе данных.
Например: если бы у меня было 2 параметра со следующими возможными значениями, тест выполнялся бы 6 раз (порядок не имеет значения). (Псевдо-код)
p1 = { 1, 5, 10 }
p2 = { "blue", "red" }
test 1: ( 1, "red" )
test 2: ( 5, "red" )
test 3: ( 10, "red" )
test 4: ( 1, "blue" )
test 5: ( 5, "blue" )
test 6: ( 10, "blue" )
Примечание. Я использую встроенное модульное тестирование Visual Studio 2010, а не NUnit или одну из многих других платформ модульных тестов.
Edit:
Я храню возможные значения как перечисления в тестовом классе, но также разумно использовать массивы. Моя цель - автоматизировать связь между перечислениями / массивами источника и самим тестом. В то время как мой образец имеет только 2 параметра с 6 перестановками, фактический набор намного больше. Я не хочу пропускать сценарий только потому, что что-то пропустил при ручном преобразовании.