Console executor

The application Nuclear.Test.Console is a command line implementation of the top level of the nuclear testing system. It can be integrated into Visual Studio or used for manual and scripted test execution.

Example of what the console executor looks like.

Command line arguments

The console executor can be fed arguments to help support a wide range of requirements. There can be a separate configuration file for specific test scenarios or custom values for the location of test assemblies.

A help printout is displayed when giving the argument -h or --help.

Usage: Nuclear.Test.Console.exe [OPTIONS]

 -h                                       Display this help context.
 --help                                   Same as -h.

 -c path                                  The configuration file path.
 --config path                            Same as -c.

 -f path                                  Override to specify one specific test assembly.
 --file path                              Same as -f.

 -d path                                  Override to specify a search directory.
 --dir path                               Same as -d.

Configuration file

The console executor is configured using a JSON file, that also configures the behavior of proxies and workers.

{
     "Locator": {
         "SearchDirectory": "%USERPROFILE%/source",
         "SearchDepth": -1,
         "SearchPattern": "*Tests.dll",
         "IgnoredDirectoryNames": [
             "obj",
             ".vs"
         ]
     },
     "Executor": {
         "Verbosity": "ExecutionArchitecture",
         "WriteReport": false
     },
     "Proxy": {
         "Directory": "%APPDATA%/Nuclear.Test.Proxy/",
         "ExecutableName": "Nuclear.Test.Proxy.exe",
         "StartClientVisible": false,
         "AutoShutdown": true,
         "WriteReport": false
     },
     "Worker": {
         "Directory": "%APPDATA%/Nuclear.Test.Worker/",
         "ExecutableName": "Nuclear.Test.Worker.exe",
         "StartClientVisible": false,
         "AutoShutdown": true,
         "WriteReport": false
     },
     "Execution": {
         "ArchitecturesFilter": {
             "Values": [
                 "MSIL",
                 "IA64",
                 "Arm",
                 "None"
             ],
             "Mode": "Blacklist"
         },
         "RuntimesFilter": {
             "Values": [
                 {
                     "Framework": "NETCoreApp",
                     "Versions": [
                         "2.0",
                         "2.1",
                         "2.2",
                         "3.0",
                         "3.1",
                         "5.0"
                     ]
                 },
                 {
                     "Framework": "NETFramework",
                     "Versions": [
                         "4.6.1",
                         "4.6.2",
                         "4.7",
                         "4.7.1",
                         "4.7.2",
                         "4.8"
                     ]
                 }
             ],
             "Mode": "WhiteList"
         },
         "AssemblyModeOverride": "Auto",
         "TestMethodModeOverride": "Auto",
         "SelectedRuntimes": "All"
     }
 }