C# 以编程方式运行测试用例

C# 以编程方式运行测试用例,c#,visual-studio,C#,Visual Studio,有人能帮我写一个执行测试方法的程序吗 i、 e 通常,要在VisualStudio中运行测试方法,用户在“测试资源管理器窗口”中选择“测试方法”,然后单击“运行” 但是我希望我的程序能够执行相同的功能。它将根据VS的版本有很大的不同。如果您使用VS 2010,您可能会看到xUnit是如何实现的。如果你在VS2011/2012/2013上工作,那么看看xUnit或nUnit的源代码,我很确定他们已经有了这些版本的TestRunner 请注意,这些都是从VS内部工作的,使用它的架构。如果您想在Vis

有人能帮我写一个执行测试方法的程序吗

i、 e

通常,要在VisualStudio中运行测试方法,用户在“测试资源管理器窗口”中选择“测试方法”,然后单击“运行”


但是我希望我的程序能够执行相同的功能。

它将根据VS的版本有很大的不同。如果您使用VS 2010,您可能会看到xUnit是如何实现的。如果你在VS2011/2012/2013上工作,那么看看xUnit或nUnit的源代码,我很确定他们已经有了这些版本的TestRunner


请注意,这些都是从VS内部工作的,使用它的架构。如果您想在VisualStudio的“外部”运行它,那么,您需要做的就是加载程序集、创建测试类实例并运行该方法—所有这些都带有反射。您还需要处理启动/拆卸等问题。因此,如果您想在VS之外运行它,那么可能更容易再次查看xUnit/nUnit/xxxx并使用它们的Runner。哦,除了使用VS提供的Microsoft单元测试框架外,您可能需要使用FRACH。但是,您也可以使用Reflector/etc从microsoft.qualitytools.unittesting DLL中剪切一些位。当然,如果我记住了正确的名称,那就差不多了。

测试资源管理器只是mstest.exe的包装,它也可以在命令行环境中工作

您可以在此处找到有关它接受的参数的信息:

而且您还忘了说您正在使用什么单元测试框架。你知道,这很重要。许妮特?努尼特?MSTest?其他?你的意思是我还必须创建一个处理MSTest.exe的包装器吗?最简单的解决方案是,是的,编写一个MSTest包装器。我不喜欢为.exe编写包装,但事实就是如此。。。或者,您最终将自己滚动,以便运行程序在VS中可见,并且可以自己执行。