2014-07-08 35 views
3

我試圖找出如何建立並通過以下博客文章打算使用FsCheck:屬性甩開的xUnit和測試資源管理器

http://www.clear-lines.com/blog/post/FsCheck-2b-XUnit-3d-The-Bomb.aspx

我已經盡我所能模仿在後的全過程,一切運行正常,直到下面的一段代碼:

namespace FSharpTests 

open Xunit 
open FsCheck 
open FsCheck.Xunit 
open CSharpCode 

module Specification = 

[<Property>] 
let ``square should be positive`` (x:float) = 
x * x > 0. 

根據博客文章的圖像,這將導致在測試一個瀏覽器測試失敗。在我而言不過,我得到這個:

Nothing

我試圖與周圍的代碼位搞亂,而且似乎[<Property>]屬性是罪魁禍首。

下面這段代碼包含了博客文章中的一些前面的代碼,如果所述屬性被超評論,將產生兩個通過測試,但是不產生任何東西(見上圖)否則將運行正常。

namespace FSharpTests 

open Xunit 
open FsCheck 
open FsCheck.Xunit 
open CSharpCode 

module Specification = 

    [<Fact>] 
    let ``length above 8 should be valid``() = 
     let password = "12345678" 
     let validator = Validator() 
     Assert.True(validator.IsValid(password)) 

    [<Fact>] 
    let ``length under 8 should not be valid``() = 
     let password = "1234567" 
     let validator = Validator() 
     Assert.False(validator.IsValid(password)) 

    //[<Property>] 
    let ``square should be positive`` (x:float) = 
     x * x > 0. 

我做錯了什麼?有什麼缺失?

我目前正在運行...

  • 的Visual Studio 2012最終版本11.0.61030.00更新4
  • F#3.0(我想..?如何檢查這到底是什麼?)
  • FsCheck 0.9.4.0
  • FsCheck.Xunit 0.4.1.0
  • xUnit.net 1.9.2
  • xUnit.net亞軍和Vi SUAL工作室0.99.7

更新

我試圖在另一臺計算機上的例子,具有相同的結果。 但是,我注意到錯誤列表中有一個警告,我沒有注意到它也存在於我第一次嘗試使用的筆記本電腦上。

描述說:

Found conflicts between different versions of the same dependent assembly. 

導航到該警告的來源,在編輯器中打開Microsoft.Common.targets,向我展示數千難以理解XML的線路和101個進一步警告。

如果我刪除FsCheck包並關閉Microsoft.Common.targets文件,所有警告消失。我猜這個警告可能是爲什麼事情沒有按預期工作的線索,但我仍然無能爲力地解決這個問題。

+1

您是否已將[xunit runner軟件包安裝到Visual Studio](http://visualstudiogallery.msdn.microsoft.com/463c5987-f82b-46c8-a97e-b1cde42b9099)? [其他一切都很好](http://stackoverflow.com/questions/16214684/why-is-the-xunit-runner-not-finding-my-tests) –

+0

是的。跑步者已安裝。 :-) – phaz

+1

啊,沒有讀得很好 - 你已經排除了這些可能性很好,因此在發現過程中發生崩潰/掛起。輸出窗口(選擇下拉列表中的測試)顯示什麼?如何將調試器附加到'vstest.discovery' *進程並陷入異常? –

回答

1

看來如果綁定重定向設置不正確,測試發現將自動失敗。這花了我大約3個小時,所以我感到痛苦。只需使用適當的重定向將App.config文件添加到您的測試項目。我不得不重定向FSharp。核心也是這樣的:https://github.com/fscheck/FsCheck/issues/151

相關問題