fscheck

    3熱度

    2回答

    我正在使用VisualStudio中的FsCheck和NUnit進行測試。 問題目前是:我設法生成隨機圖(用於測試一些圖形功能),但是當一個測試失敗,FsCheck吐出來的全圖,所以它從字面上轉儲的記錄,你的原始清單它不使用的ToString在那裏看不到任何東西。 另外我不僅需要輸入圖形進行檢查,而且還需要運行屬性時創建的一些其他數據。 因此,如何能更改FsCheck的輸出行爲,以 居然打電話給我

    7熱度

    1回答

    我試圖用FsCheck實現以下行爲:我想創建一個生成器,該生成器將生成MyUnion類型的實例,每個字符串字段都是非-null /空。 type MyNestedUnion = | X of string | Y of int * string type MyUnion = | A of int * int * string * string | B o

    4熱度

    1回答

    我有一個F#庫,裏面有很多我想測試的非公開內容。目前,所有不屬於程序集公共API的代碼都標記爲internal(具體來說,它放置在標記爲internal的模塊中)。我使用InternalsVisibleToAttribute使此代碼對我的測試程序集可見。然而,爲了讓測試程序集編譯,在簽名中使用內部類型的所有測試(其中大部分是因爲我使用FsCheck來自動生成測試輸入)也必須標記爲內部(這需要應用於

    3熱度

    2回答

    我試圖學習如何正確使用FsCheck,並將它與Expecto整合在一起。如果我使用默認的FsCheck配置,我可以運行屬性測試,但是當我嘗試使用自己的Generator時,會導致堆棧溢出異常。 這裏是我的發電機 type NameGen() = static member Name() = Arb.generate<string * string> |> Gen.

    1熱度

    1回答

    我有一個屬性,我想測試一個Stuff的集合,其中一個Stuff滿足某個屬性。我有一種方法可以生成滿足屬性的Stuff,並且可以生成不包含Stuff的方法。 今天,我在做這樣的事情(是的,我在C#中使用FsCheck): IEnumerable<Stuff> GetStuffCollection(int input) { yield return GenerateStuffSatisfy

    2熱度

    1回答

    我正在嘗試解決鑽石kata以瞭解如何使用fscheck庫編寫基於屬性的測試。我想用C#編寫測試,我正在使用Visual Studio 2017. 我想編寫一個基於屬性的測試,它不會生成任何隨機字符作爲輸入,而只是字母。我不知道如何編寫生成器fscheck需要執行此操作以及在哪個文件中放置代碼? 我到處搜索和閱讀文檔,但有麻煩(部分原因是我不能很好地將F#翻譯成C#)。 [Property]如何將輸

    3熱度

    1回答

    FsCheck有一些整潔的默認Arbitrary類型來生成測試數據。但是如果我的測試日期之一取決於另一個呢? 例如,考慮使獲得的子永遠不能比輸入的字符串長的string.Substring()屬性: [Fact] public void SubstringIsNeverLongerThanInputString() { Prop.ForAll( Arb.Default.No

    1熱度

    1回答

    背景: 我有大量的命令滿足以下規則: 沒有設置器(不可變) 一個構造 參數名稱匹配正在設置的屬性的名稱(除了外殼) 我想寫一個測試儀,測試如下 考慮到提供了所有參數,我得到了該類的一個實例,並且所有屬性都設置爲傳遞的值。 基於類型構造函數引發參數異常,假定任何一個需要調用的參數是null或空等。 現在,我可以通過反射來寫這個,手滾動它,沒問題,但我想知道是否可以利用FsCheck生成器來生成參數。

    3熱度

    1回答

    這裏是一個片段演示了什麼,我將談論很好地工作不斷。我可以指定foo集合實例的名稱,但出於某種原因,我無法構建另一個稍微修改過的stuct版本。它告訴我物品沒有名爲Name的屬性,當清楚地在它之前的行上時,它確實存在。由於某些原因,我可以不使用這些庫的「with」語法嗎?

    0熱度

    1回答

    我剛開始用FsCheck,想挖得更深一些,我有以下測試案例: [Property] public void some_test(HttpStatusCode httpStatusCode) 現在,我只希望httpStatusCode這是失敗了,怎麼辦我使用FsCheck實現了這一點?我有以下代碼: Prop.ForAll<HttpStatusCode>(code => new Func<bo