2012-03-14 56 views
1

我正在使用SliM runner來測試我們的.net 4.0項目的FitNesse。一切順利,直到我們添加了企業圖書館記錄器。我們正在配置記錄器的Unity容器。加載配置時,測試失敗,抱怨無法加載EntLib dll。即使添加了套件的類路徑條目以包含正在構建項目的Microsoft.Practices.EnterpriseLibrary.Logging.dll和Microsoft.Practices.EnterpriseLibrary.Common.dll,它仍然會失敗。但是,如果將它們添加到Runner.exe所在的同一目錄中,它會找到它們。FitNesse SliM Runner找不到Enterprise Library程序集

這樣就可以了,除了記錄器使用自定義的偵聽器類型,它回到了被測試的項目中,這幾乎不可取,但足夠了。該自定義類型依次依賴於我們自己的庫和擴展。 Fitnesse抱怨說,它找不到自定義偵聽器及其依賴項的dll,除非它們全都與Runner.exe位於同一目錄中。但是,如果我只刪除對Enterprise Library的依賴,測試運行器將在構建目錄中找到所有的程序集。

回答

0

我遇到了一些庫問題,它們堅持在可執行應用程序的相同目錄下查找DLL,在這種情況下,runner.exe。即使在明確加載dll時,它仍然不會識別它們。我還沒有嘗試Unity和企業庫的結合,但這可能是一個類似的問題。

將runner.exe複製到build目錄並從那裏運行可能是一種解決方法。

您也可以嘗試AppDomain設置:請參閱AppDomainSetup中的http://fitsharp.github.com/FitSharp/SuiteConfigurationFile.html

相關問題