GRPC公司。测试内容

2024-06-25 23:13:35 发布

您现在位置:Python中文网/ 问答频道 /正文

目前我们可以通过以下方式检测阳性病例:

class AuthServer(auth_grpc.AuthServicer):
    def __init__(self, *args, **kwargs):
        print("Initializing auth server..")
        super(AuthServer, self).__init__(*args, **kwargs)

    def register(self, request, context):
        return auth_messages.registerResponse(uuid="Test")

使用pytest夹具,如下所示:

^{pr2}$

在测试用例环境中,按以下方式访问:

def test_user_registration(server, context, user):
    request = auth_messages.registerRequest(**user)
    result = server.register(request, context)
    print("RESULT %s " % result)

但是,如果我们想测试阴性案例并将grpc服务程序方法更改为以下方式:

def register(self, request, context):
    context.set_code(grpc.StatusCode.ALREADY_EXISTS)
    context.set_details("User already exists")
    return auth_messages.registerResponse()

我们在错误中失败,与虚拟上下文有关。在

在哪里我们可以得到grpc上下文,可以很容易地插入到测试环境中?在

thisone这样的上下文看起来很复杂,还没有准备好进行插入和测试。在


Tags: selfauthregistergrpcserverinitrequestdef
1条回答
网友
1楼 · 发布于 2024-06-25 23:13:35

^{} is just an interface;在测试代码中,您应该能够编写自己的实现,并将其传递给正在测试的服务程序。在

诚然,目前我们还没有提供一个grpc_testing一个grpc.ServicerContext准备好供测试使用并传递给被测系统的实现,但也不完全清楚我们是否可以提供一个简单实现并且对大量测试也有价值的实现。对于测试中的服务人员如何使用grpc.ServicerContext对象有一个很大的行为空间,还有一个关于作者如何编写服务程序测试的行为空间。在

相关问题 更多 >