在Mono中运行Visual Studio 2008 C#(基于MSTest.exe)单元测试

问题描述:

我正在使用VS2008开发一个项目,我将开始在Mono下进行测试。 有很多使用VS单元测试框架编写的单元测试,有没有一种工具可以让我在单声道中运行这些测试?在Mono中运行Visual Studio 2008 C#(基于MSTest.exe)单元测试

感谢,

根据您正在使用它可以是琐碎的或硬的特点。您可以使用名称空间/类型别名来使用另一个类库来执行断言和属性。我编写了可以手动运行测试的控制台程序 - 但我当然可以访问vs命名空间和程序集。

对于单声道 - 我的建议是完全使用另一个测试系统作为自己的system.reflection命名空间来加载程序集,反映属性并根据需要执行,将是单调乏味的。

例如:

Pseudo code: 

var assembly = loadAsembly(....) 
foreach(type in assembly.types) { 
if(type is static class and had method with AssemblyInitialiseAttrubute)){ 
    InvokeTheMethod(method); 
} 
} 

foreach(type in assembly.types) { 
if(type is not class and had method with TestClass)){ 
    InvokeTheMethod(method); 
} 
foreach(method in type with ClassinitialiseAttribute) 
} 
... etc 
+0

是的,我想可能最终轧制我自己,但我仍然坚持要一个现成的解决方案。谢谢。 – bright 2009-08-08 23:07:41

+0

原来是相当直接的,虽然我目前有一个VS单元测试组件的参考,它定义了属性(我将它复制到Mono,不是很清晰)。 – bright 2009-08-09 05:10:36

+0

为什么不定义你自己的属性?那么你获得了两全其美的好处? – 2009-08-09 10:51:27