2009-11-18 31 views
3
[ClassInterface(ClassInterfaceType.None)] 
[Guid("12C969B3-330D-4230-ACDA-F9BED3286B1E")] 
[ProgId("Lib.Class")] 
public class MyService : ServicedComponent, IMyService 
{ 
     ... 
} 

单元测试:如何在单元测试中创建一个正在进行的ServicedComponent实例?

MyService target = new MyService(); 

此代码创建一个TransparentProxy对象,这是怎么成分应该 生产运行。

如何创建进程和当地的类的实例,例如 我可以注入其依赖?

+2

哇,有人downvoted这个人的第一篇文章 - 很好的方式欢迎他/她么! – 2009-11-18 20:54:13

+0

......并且从未离开过一个理由。 – 2009-11-18 20:56:54

回答

1

我不喜欢它,但是可以使用条件编译语句Debug/Release或者我使用DebugComPlus/Debug/Release(其中只有Debug不是ServicedComponent)。请注意,您应该在调试条件中实现IDisposable,因为您必须为实际代码调用Dispose on ServicedComponent,并且如果Dispose方法不是ServicedComponent,Dispose方法将不会存在。

否则我真的建议只通过COM +测试它,因为这是你在现实生活中运行,你会遇到生产COM +的问题,如果你测试COM +的之外的你会错过。这就是我们现在在一个项目上进行项目的方式,因此有许多难以找到的错误。个人现在总是通过COM +进行测试。

相关问题