我正在使用 SliM 跑步者对我们的 .Net 4.0 项目进行 FitNesse 测试。在我们添加企业库记录器之前,一切都很顺利。我们正在从配置中为记录器配置 Unity 容器。加载配置时,测试失败,抱怨它无法加载 EntLib dll。即使添加了套件的类路径条目以包含正在构建项目的 Microsoft.Practices.EnterpriseLibrary.Logging.dll 和 Microsoft.Practices.EnterpriseLibrary.Common.dll,它仍然会失败。但是,如果将它们添加到 Runner.exe 所在的同一目录中,它会找到它们。
除了记录器使用自定义侦听器类型之外,这还可以,几乎不可取,但已足够,该类型已回到被测项目中。该自定义类型又依赖于我们自己的库和扩展。Fitnesse 抱怨它无法找到带有自定义侦听器的 dll 及其依赖项,除非它们都与 Runner.exe 位于同一目录中。但是,如果我只是删除对 Enterprise Library 的依赖,测试运行程序会在构建目录中找到所有程序集。