public void Execute(string name, int count = 1) { var type = GetTypes().FirstOrDefault(t => t.Name.Match(name)); var method = GetMethods().FirstOrDefault(m => m.Name.Match(name)); if (type == null && method == null) { Console.WriteLine("Не удалось найти набор тестовых данных '{0}'," + " используй list что просмотреть доступные наборы", name); return; } for (var i = 0; i < count; i++) { if (type != null) { new FixtureHelper(verbose: true).Run(type); } else { var factory = FixtureHelper.GetFactory(); if (method.GetCustomAttributes(typeof(ServiceAttribute)).Any()) { factory = DbHelper.ServerNHConfig("local"); } using (var session = factory.OpenSession()) using (session.BeginTransaction()) { var infos = method.GetParameters(); if (infos.Length > 1 && infos[1].ParameterType == typeof(bool)) { method.Invoke(null, new object[] { session, true }); } else { method.Invoke(null, new object[] { session }); } session.Transaction.Commit(); } } } }