2014-12-05 152 views
1

這些天我在單元測試套件中看到了一些奇怪的事情。運行單元測試時出現奇怪的行爲測試NancyFx中的Fluentvalidation

我有一個在NancyFX中創建的REST API。我最近開始使用FluentValidation實現一種新的驗證方式。

我的測試套件目前有大約1000個測試,其中我現在有大約10個測試用於第一次Fluent驗證。這是奇怪的地方。在我寫這些測試時,一切都很好。但是,只要我運行整個測試套件,所有的Fluent驗證測試都失敗了。

當我看着這個錯誤時告訴我:

"No model validator factory could be located. Please ensure that you have an appropriate validation package installed, such as one of the Nancy.Validation packages." 

但組件從我的測試庫引用時,我對自己進行的測試,他們的工作很好,是綠色的。

我使用Resharper測試跑步者。 Thr驗證器是使用BindAndValidate調用的,我正在使用nancy測試瀏覽器調用端點。

下一個奇怪的行爲是這些測試在Team City上運行良好。

我不知所措。我無法弄清楚爲什麼它不能解決這些程序集引用。

回答

0

這裏發生的事情是我有兩個測試項目。一個用於集成測試,另一個用於單元測試。顯然,單元測試項目也會實例化一個測試瀏覽器對象。我並不知道有人使用了瀏覽器對象,並且基本上把一個集成測試放到了單元測試項目中。

單元測試項目在集成測試之前進行測試。由於單元測試項目沒有引用FluentValidation DLL,因此TinyIOC容器沒有選取驗證類。單元測試項目沒有調用任何BindAndValidation路徑,所以這不是問題......但是一旦集成測試運行就會成爲問題。

所以我看到的不是實際的問題,而是一個症狀。

相關問題