📄 consoleoptions.cs
字号:
#region Copyright (c) 2002-2003, James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole, Philip A. Craig
/************************************************************************************
'
' Copyright 2002-2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole
' Copyright 2000-2002 Philip A. Craig
'
' This software is provided 'as-is', without any express or implied warranty. In no
' event will the authors be held liable for any damages arising from the use of this
' software.
'
' Permission is granted to anyone to use this software for any purpose, including
' commercial applications, and to alter it and redistribute it freely, subject to the
' following restrictions:
'
' 1. The origin of this software must not be misrepresented; you must not claim that
' you wrote the original software. If you use this software in a product, an
' acknowledgment (see the following) in the product documentation is required.
'
' Portions Copyright 2002-2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole
' or Copyright 2000-2002 Philip A. Craig
'
' 2. Altered source versions must be plainly marked as such, and must not be
' misrepresented as being the original software.
'
' 3. This notice may not be removed or altered from any source distribution.
'
'***********************************************************************************/
#endregion
namespace NUnit.Util
{
using System;
using Codeblast;
public class ConsoleOptions : CommandLineOptions
{
[Option(Description = "Fixture to test")]
public string fixture;
[Option(Description = "Project configuration to load")]
public string config;
[Option(Description = "Name of XML output file")]
public string xml;
[Option(Description = "Name of transform file")]
public string transform;
[Option(Description = "Display XML to the console")]
public bool xmlConsole;
[Option(Short="out", Description = "File to receive test output")]
public string output;
[Option(Description = "File to receive test error output")]
public string err;
[Option(Description = "Label each test in stdOut")]
public bool labels = false;
[Option(Description = "List of categories to include")]
public string include;
[Option(Description = "List of categories to exclude")]
public string exclude;
// [Option(Description = "Run in a separate process")]
// public bool process;
// [Option(Description = "Run in a separate AppDomain")]
// public bool domain;
// [Option(Description = "Disable shadow copy when running in separate domain")]
[Option(Description = "Disable shadow copy")]
public bool noshadow;
[Option (Description = "Run tests on a separate thread")]
public bool thread;
[Option(Description = "Wait for input before closing console window")]
public bool wait = false;
[Option(Description = "Do not display the logo")]
public bool nologo = false;
[Option(Short="?", Description = "Display help")]
public bool help = false;
private bool isInvalid = false;
public ConsoleOptions(String[] args) : base(args)
{}
protected override void InvalidOption(string name)
{
isInvalid = true;
}
public bool Validate()
{
if(isInvalid) return false;
if(HasInclude && HasExclude) return false;
if(NoArgs) return true;
if(IsFixture) return true;
if(ParameterCount >= 1) return true;
return false;
}
public bool IsAssembly
{
get
{
return ParameterCount >= 1 && !IsFixture;
}
}
public bool IsTestProject
{
get
{
return ParameterCount == 1 && NUnitProject.CanLoadAsProject( (string)Parameters[0] );
}
}
public bool IsFixture
{
get
{
return ParameterCount >= 1 &&
((fixture != null) && (fixture.Length > 0));
}
}
public bool IsXml
{
get
{
return (xml != null) && (xml.Length != 0);
}
}
public bool isOut
{
get
{
return (output != null) && (output.Length != 0);
}
}
public bool isErr
{
get
{
return (err != null) && (err.Length != 0);
}
}
public bool IsTransform
{
get
{
return (transform != null) && (transform.Length != 0);
}
}
public bool HasInclude
{
get
{
return include != null && include.Length != 0;
}
}
public bool HasExclude
{
get
{
return exclude != null && exclude.Length != 0;
}
}
public string[] IncludedCategories
{
get
{
if (HasInclude)
return include.Split( new char[] {';', ','});
return null;
}
}
public string[] ExcludedCategories
{
get
{
if (HasExclude)
return exclude.Split( new char[] {';', ','});
return null;
}
}
public override void Help()
{
Console.WriteLine();
Console.WriteLine( "NUNIT-CONSOLE [inputfiles] [options]" );
Console.WriteLine();
Console.WriteLine( "Runs a set of NUnit tests from the console." );
Console.WriteLine();
Console.WriteLine( "You may specify one or more assemblies or a single" );
Console.WriteLine( "project file of type .nunit." );
Console.WriteLine();
Console.WriteLine( "Options:" );
base.Help();
Console.WriteLine();
Console.WriteLine( "Options that take values may use an equal sign, a colon" );
Console.WriteLine( "or a space to separate the option from its value." );
Console.WriteLine();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -