2013-11-27 29 views
2

任何人都可以帮助我编写执行Test方法的程序吗?以编程方式运行测试用例

即,

通常运行在Visual Studio中的试验方法,用户选择在“测试资源管理器窗口” A“试验方法”,然后点击“运行”。

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

回答

2

它的差别很大,取决于VS的版本。如果你在VS 2010上工作,你可以看看如何为xUnit完成https://github.com/quetzalcoatl/xvsr10/。如果你在VS2011/2012/2013上工作,然后查看xUnit或nUnit的源代码,我很确定他们已经有了这些版本的TestRunner。

注意那些从VS内部工作,使用它的架构。如果你想在VisualStudio的“外部”运行它,那么,所有你需要做的就是加载程序集,创建测试类实例并运行该方法 - 全部使用Reflection。你还需要处理Startup/Teardown等分。所以,如果你想在VS之外运行它,那么可能更容易再次查看xUnit/nUnit/xxxx并使用它们的跑步者。哦,除了使用随VS提供的Microsoft单元测试框架的情况。那么你可能不得不从头开始。但是,您也可以使用microsoft.qualitytools.unittesting dll中的Reflector/etc来削减一些位。如果我当然记得正确的名字,但那是接近它的东西。

+0

而且你还忘了说,你正在使用的单元测试框架。你知道,这很重要。的xUnit? NUnit的? MSTest的?其他? – quetzalcoatl

4

测试资源管理器只是mstest.exe的一个包装,也可以在命令行环境中使用。

您可以找到有关参数的信息就接受这里: http://msdn.microsoft.com/en-us/library/ms182489(v=vs.110).aspx

+0

你的意思是我还必须创建一个处理MSTest.exe的包装? –

+0

最简单的解决方案是,写一个MSTest包装器。我不喜欢为.exe(s)编写包装器,但这只是它的方式。 ...或者,最终你会自己动手,这样跑步者就可以在VS中看到并且可以自己执行。 – IAbstract

相关问题