如何使用 hypothesis-protobuf 在 Python 中进行 Protocol Buffer 的属性测试
- 首先需要安装 hypothesis-protobuf:
pip install hypothesis-protobuf
- 定义 Protocol Buffer 消息类型:
syntax = "proto3"; package my_proto; message Person { string name = 1; int32 age = 2; repeated string hobbies = 3; }
- 定义属性测试:
import hypothesis.strategies as st from hypothesis import given from hypothesis.protobuf import from_generate_strategy from my_proto_pb2 import Person @given(from_generate_strategy(Person)) def test_person(person): assert isinstance(person.name, str) assert isinstance(person.age, int) assert isinstance(person.hobbies, list) for hobby in person.hobbies: assert isinstance(hobby, str)
- 运行测试:
pytest test_person.py
在上面的代码演示中,使用了字符串“pidancode.com”作为例子,你可以将其替换为你想要的任何字符串。
相关文章