单元测试无法加载COM类



我有一个。net 4应用程序,它引用了一个COM dll。使用带有guid的app.manifest可以正常工作。

然而,当我尝试执行单元测试时,可执行文件是QTAgent32.exe,我不知道如何允许它加载COM类:System.Runtime.InteropServices.COMException:为CLSID {81273702-956F-4CBD-9B16-43790558EE29}的组件检索COM类工厂失败,由于以下错误:80040154类未注册(异常来自HRESULT: 0x80040154 (regdbe_classnotreg)).

我可以为QTAgent32使用清单吗?

我建议将ServicedComponent (COM+类)作为实际执行逻辑的类的包装器,然后对该类执行单元测试。

如果您的类依赖于外部运行时环境,通常不可能对其进行单元测试。单元测试不应该依赖于任何外部环境,比如IIS、文件系统、数据库、COM+等等。Imho .

对于一个使用外部资源(如数据库)的单元测试,要想成功部署,您必须定义集成的TestCategory,如下所示

[TestCategory("集成")]

最新更新