[英]Unit testing in Visual C# 2010 Express?
Visual C#2010 Express是否具有单元测试功能?
什么都没有内置,但你总是可以使用nUnit。
MSTest与专业版及以上版本捆绑在一起。
在2010年,可以使用外部应用程序,但调试单元测试变得困难。 如果你想使用NUnit调试可能是最好的路线(但不是唯一的选择,请参阅ExpressUnit )。 在另一个SO线程上看到这个答案。 它链接到一个博客 ,该博客提到将测试项目作为控制台应用程序运行并直接调用nunit库dll来启动测试:
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版本具有限制,即插件/插件明显不允许使用。 它们没有附带内置测试解决方案,您无法添加一个。
您最好/唯一的选择是使用独立的测试运行器,例如nUnit,mspec等......并从VSE外部运行它。
现在包含在Visual Studio 2013 Express中: http : //msdn.microsoft.com/en-us/library/dd264975.aspx
如果看不到Test Explorer ,请在Visual Studio菜单上选择Test ,选择Windows ,然后选择Test Explorer 。
作为更新,我目前正在使用Visual Studio Express for Desktop
,VS套件自2010年以来已经完全改造,更准确地反映了“大哥”。
单元测试现在作为内置功能提供,并且以与Visual Studio非Express相同的方式(我没有测试过所有功能)。
您始终可以在项目中使用Main()方法设置一个附加类,并将其选择为项目中的启动对象,然后从那里进行调试。 它可能不适用于执行更复杂任务的情况,因为您无法利用更多特定于测试的功能,但在某些更简单的项目中可能会有用。 如果您的项目是类库,请考虑将其转换为控制台应用程序,然后在完成测试后将其切换回来。
(注意:我知道这篇文章很老了,但这可能对某人有帮助)
正如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)
看看codeplex上的NHarness ,这是一个非常简单的库,允许您在测试项目中运行NUnit测试夹具。 这使您能够在需要时通过单元测试进行调试
测试运行器的示例(来自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类可用于检索有关所执行测试的信息,因此该库也可用于自定义单元测试应用程序
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.