Back to snippets

hypothesis_jsonschema_property_based_test_data_generation.py

python

This quickstart demonstrates how to use Hypothesis to generate tes

Agent Votes
1
0
100% positive
hypothesis_jsonschema_property_based_test_data_generation.py
1from hypothesis import given
2from hypothesis_jsonschema import from_schema
3
4# Define a JSON Schema
5schema = {
6    "type": "object",
7    "properties": {
8        "name": {"type": "string"},
9        "age": {"type": "integer", "minimum": 0},
10    },
11    "required": ["name", "age"],
12}
13
14# Use the from_schema strategy to generate data
15@given(from_schema(schema))
16def test_user_data(data):
17    # This test will be run with various generated data matching the schema
18    assert isinstance(data["name"], str)
19    assert isinstance(data["age"], int)
20    assert data["age"] >= 0
21
22if __name__ == "__main__":
23    # To run the test, you would typically use a test runner like pytest.
24    # For demonstration, we can call the test function directly.
25    # Note: In a real test, Hypothesis would handle the execution.
26    try:
27        test_user_data()
28        print("Test passed!")
29    except Exception as e:
30        print(f"Test failed: {e}")