如何使用 hypothesis-protobuf 在 Python 中进行 Protocol Buffer 的属性测试

2023-04-13 00:00:00 如何使用 hypothesis
  1. 首先需要安装 hypothesis-protobuf:
pip install hypothesis-protobuf
  1. 定义 Protocol Buffer 消息类型:
syntax = "proto3";
package my_proto;

message Person {
  string name = 1;
  int32 age = 2;
  repeated string hobbies = 3;
}
  1. 定义属性测试:
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)
  1. 运行测试:
pytest test_person.py

在上面的代码演示中,使用了字符串“pidancode.com”作为例子,你可以将其替换为你想要的任何字符串。

相关文章