Built-in strategies¶
This page shows some of the strategies that Hypothesis provides for you.
Strategies provided by Hypothesis¶
Here is a selection of strategies provided by Hypothesis that may be useful to know:
integers()Generates integers.
floats()Generates floats.
booleans()Generates booleans.
text()Generates unicode strings (i.e., instances of
python:str). Can be constrained to ASCII withst.text(st.characters(codec="ascii")).lists()Generates lists with elements from the strategy passed to it.
st.lists(st.integers())generates lists of integers.tuples()Generates tuples of a fixed length.
st.tuples(st.integers(), st.floats())generates tuples with two elements, where the first element is an integer and the second is a float.one_of()Generates from any of the strategies passed to it.
st.one_of(st.integers(), st.floats())generates either integers or floats. You can also use|to constructone_of(), likest.integers() | st.floats().builds()Generates instances of a class (or other callable) by specifying a strategy for each argument, like
st.builds(Person, name=st.text(), age=st.integers()).just()Generates the exact value passed to it.
st.just("a")generates the exact string"a". This is useful when something expects to be passed a strategy. For instance,st.lists(st.integers() | st.just("a"))generates lists whose elements are either integers or the string"a".sampled_from()Generates a random value from a list.
st.sampled_from(["a", 1])is roughly equivalent tost.just("a") | st.just(1).none()Generates
None. Useful for parameters that can be optional, likest.integers() | st.none().
See also
See the strategies API reference for a full list of strategies provided by Hypothesis.