在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
是的,我想可能最终轧制我自己,但我仍然坚持要一个现成的解决方案。谢谢。 – bright 2009-08-08 23:07:41
原来是相当直接的,虽然我目前有一个VS单元测试组件的参考,它定义了属性(我将它复制到Mono,不是很清晰)。 – bright 2009-08-09 05:10:36
为什么不定义你自己的属性?那么你获得了两全其美的好处? – 2009-08-09 10:51:27