Visual C#2010 Express中的unit testing?
Visual C#2010 Express是否具有unit testingfunction?
如前所述,Express版本没有任何内置的function,也不允许加载此function,但是您可以使用外部工具,例如NUnit 。
您也可以设置一个命令,从Visual Studio Express中的“工具 – >外部工具”菜单选项运行,并根据需要运行testing运行器。
这里是一个链接,显示如何使用VS C#2008 Express,(向下滚动到结尾),但我认为它也应该适用于2010年。
这是一个新的工作链接。
没有内置的,但你可以随时使用nUnit。
MSTest捆绑了专业版和以上版本。
在2010年可能使用外部应用程序,但是debuggingunit testing变得困难。 如果你想使用NUnit进行debugging可能是最好的路线(但不是唯一的select,请参阅ExpressUnit )。 在另一个SO线程上看到这个答案。 它链接到一个博客 ,提到作为一个控制台应用程序运行testing项目,并直接调用nunit库dll启动testing:
using System; namespace RunTests { static class Program { [STAThread] static void Main() { var args = new string[] { Assembly.GetExecutingAssembly().Location, "/run" }; NUnit.Gui.AppEntry.Main(args); } } }
Visual Studio Express版本具有插件/插件明确禁止的限制。 它们不附带内置的testing解决scheme,而且不能join。
你最好的/唯一的select它使用独立的testing运行,如nUnit,mspec等等,并从VSE外部运行它。
现在包含在Visual Studio 2013 Express中: http : //msdn.microsoft.com/en-us/library/dd264975.aspx
如果Test Explorer不可见,请在Visual Studio菜单上selectTest ,selectWindows ,然后selectTest Explorer 。
看看codeplex上的NHarness ,这是一个非常简单的库,它允许您在testing项目中运行NUnittesting夹具。 这使您可以根据需要通过unit testing进行debugging
testing运行器的一个示例(来自codeplex页面)如下所示
public class RunTests { public static void Main(string[] args) { TestResults results = Tester.RunTestsInClass<Tests>(); Console.WriteLine("Tests Run: {0}", results.NumberOfResults); Console.WriteLine("Results {0}:PASSED {1}:FAILED", results.NumberOfPasses, results.NumberOfFails); Console.WriteLine("Details:"); foreach (TestResult result in results) { Console.WriteLine("Test {0}: {1} {2}", result.MethodName, result.Result, result.Result == TestResult.Outcome.Fail ? "\r\n" + result.Message : ""); } Console.ReadLine(); } }
这个库的好处是TestResults类可以用来检索执行testing的信息,所以这个库也可以用在自定义的unit testing应用程序中
您可以在项目中始终使用Main()方法设置其他类,并将其选作项目中的启动对象,然后从中进行debugging。 它可能不适用于执行更复杂任务的情况,因为您不能利用更多testing特定的function,但在某些更简单的项目中可能会有用。 如果您的项目是类库,请考虑将其转换为控制台应用程序,然后在完成testing时切换回来。
(注:我知道这个post是旧的,但这可能有助于某人)
正如Andy在上面贴出的那样,你可以使用NUnit 。
但是Andy发布的链接中的设置在VS C#2010中不起作用。
以下是我在“外部工具”窗口中使用的设置:
命令: C:\ Program Files(x86)\ NUnit 2.6.2 \ bin \ nunit-x86.exe
(在bin目录中也有一个nunit.exe )
参数: $(ProjectDir)$(ProjectFileName)
初始目录: $(ProjectDir)bin / Debug / $(TargetName)$(TargetExt)