예제 #1
0
        public static void Main(string[] args)
        {
            foreach (var arg in args)
            {
                if (arg.Equals("--help"))
                {
                    Console.Write(CommandLineUtil.HelpText(cmdLineExample, typeof(LocalProjectRunnerArguments)));
                    return;
                }
            }

            var cmdOptions = CommandLineUtil.ParseArguments <CommandLineOptions>(args);

            if (cmdOptions != null)
            {
                if (cmdOptions.ConfigurationFilePath != null)
                {
                    TestCommons.RunWithConfiguration(File.ReadAllText(cmdOptions.ConfigurationFilePath));
                }
                else
                {
                    string[] unknownArgs         = new string[0];
                    Type     runnerArgumentsType = cmdOptions.TestSource.GetArgumentsType();
                    int      firstUnknownArg     = CommandLineUtil.FindFirstUknownArg(args, runnerArgumentsType);
                    if (firstUnknownArg >= 0)
                    {
                        unknownArgs = args.Skip(firstUnknownArg).ToArray();
                    }

                    ProjectRunnerArguments runnerArgs = CommandLineUtil.ParseArguments(args, runnerArgumentsType) as ProjectRunnerArguments;
                    runnerArgs.TestingFrameworkArguments = unknownArgs;
                    TestCommons.RunWithArgs(runnerArgs);
                }
            }
        }