python-hypothesis

    1熱度

    1回答

    我剛將一個pytest測試套件從quickcheck遷移到hypothesis。這工作得很好(並立即發現了一些隱藏的邊緣案例錯誤),但我看到的一個主要區別與兩個物業經理之間的測試隔離有關。 quickcheck似乎只是用不同的參數值多次運行測試函數,每次運行我的函數範圍的燈具。這也導致pytest的輸出中有更多的點。 hypothesis然而,似乎多次運行測試函數的主體,這意味着例如單個運行之間沒

    0熱度

    1回答

    我希望能夠採用正則表達式並使用python假設庫生成符合數據。例如給定一個正則表達式 regex = re.compile('[a-zA-Z]') 這將匹配任何英文字母字符。這可能是一個示例生成器。 import hypothesis import string hypothesis.strategies.text(alphabet=string.ascii_letters) 但理想

    3熱度

    1回答

    我需要在python中測試一個函數,該函數使用任何類型的數據,從整數到字符串到用戶組成的任何對象。假設中是否有一種方法可以用隨機對象生成一個列表?我知道我可以生成隨機浮動的列表, @given(strategies.lists(strategies.floats())) 等等等等與整數,字符等,但我怎麼能做出這麼一個隨機的列表中有一個以上的數據類型與它?

    1熱度

    2回答

    在假設隨機抽樣,有一個corresponding sampled_from() strategy到random.choice(): In [1]: from hypothesis import find, strategies as st In [2]: find(st.sampled_from(('ST', 'LT', 'TG', 'CT')), lambda x: True) Out[2

    0熱度

    1回答

    我試圖解決使用假設類似的難題是什麼已經在這裏完成: http://nchammas.com/writing/how-not-to-die-hard-with-hypothesis 不幸的是它失敗間歇性地發生Flaky錯誤,我無法使用pdb來追蹤問題。 我的節目源是: https://gist.github.com/sureshvv/0fb78ef221fb8c1ed85dd034c83abefa

    0熱度

    1回答

    我有3個文件module.py,其中包含一個示例函數,用於測試輸入是否爲數字。我有一個名爲test_mymodule_long.py是成功測試和使用py.test和hypothesis通過幾種類型的輸入文件。我使用的Python 3.6,但這不應該(如果你不是,只是刪除類型提示)。對於這個特定的功能,將這些分離出來對我來說沒有幫助;如果假設找到了邊緣案例,我只想知道有問題的輸入和引發的異常。因此,

    0熱度

    2回答

    我有一個Django模型。在其他方面它有一個ForeignKey到User: class MyModel(models.Model): foo = models.BooleanField() bar = models.ForeignKey(User) 我在我的測試方法產生了我的適當形狀User - generate_test_user() 我想寫一些測試與Hypothesi

    1熱度

    1回答

    我正在考慮使用hypothesis進行一些測試。我喜歡它可以生成大量的數據來查找邊緣情況。但是,我希望能夠更多地調整我的一些測試。 例如,我可以定義一個測試來生成integers,但我期望這個測試符合有效的郵政編碼是好的。我可以這樣做嗎?或者,也許更復雜的符合非美國郵政編碼,這些都是整數,但其他(比如加拿大)則不是? 相同類型的東西對預期符合某種類型的掩碼(即電子郵件地址)的text字段將會有用。

    0熱度

    1回答

    我有一個複合,價格昂貴但價格便宜的策略。我必須這樣做: @given(expensive_strategy()) def test_all(x): assert... assert... ... 建立示例和運行斷言的時間可以忽略不計4秒。 最佳做法決定將這些測試分開。 我不清楚我如何可以結合假設策略和例如。 TestCase.setUp或pytest會話範圍的燈

    0熱度

    1回答

    我使用python假設像下面 @st.composite def generate_network_fault_only(draw): fault = { "impaired": st.just(True), # need to detect if all faults are None to switch this back. "limit": draw(Ne