社区首页 >问答首页 >GRPC。测试上下文

GRPC。测试上下文
EN

Stack Overflow用户
提问于 2018-01-10 02:20:40
回答 1查看 2.1K关注 0票数 0

目前,我们可以通过以下方式测试阳性案例:

代码语言:javascript
代码运行次数:0
复制
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 fixtures看起来像下面这样:

代码语言:javascript
代码运行次数:0
复制
@pytest.fixture(scope="session")
def server():
    return AuthServer()


@pytest.fixture(scope="session")
def context():
    return DummyGRPCTestContext()

在通过以下方式访问的测试用例环境中:

代码语言:javascript
代码运行次数:0
复制
def test_user_registration(server, context, user):
    request = auth_messages.registerRequest(**user)
    result = server.register(request, context)
    print("RESULT %s " % result)

但是,如果我们想测试否定的情况,并将grpc servicer方法更改为:

代码语言:javascript
代码运行次数:0
复制
def register(self, request, context):
    context.set_code(grpc.StatusCode.ALREADY_EXISTS)
    context.set_details("User already exists")
    return auth_messages.registerResponse()

我们在与虚拟上下文相关的错误中失败了。

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

this one这样的环境看起来很复杂,还没有准备好进行即插即用测试。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-18 17:05:02

grpc.ServicerContext is just an interface;在您的测试代码中,您应该能够编写自己的实现,并将其传递给要测试的服务器。

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48179371

复制
相关文章
Grpc — 整体性能测试
当然最最最重要的就是性能,在使用RPC的场景下对于多个程序通讯完成业务所消耗的性能是有巨大挑战的,笔者也做了一套完整的性能测试大家可以继续往下看。
喵了个咪233
2019/05/26
3K0
GRPC接口测试全通攻略
RPC的全称叫做Remote Procedure Call(远程过程调用),意思是将远程(非本地)的一个方法,当作本地的一个方法来调用的一种规范。举例来帮助大家理解:
TestOps
2022/04/08
3.1K0
GRPC接口测试全通攻略
用Python进行gRPC接口测试
gRPC 是一个高性能、通用的开源RPC框架,其由 Google 主要面向移动应用开发并基于HTTP/2 协议标准而设计,基于 ProtoBuf(Protocol Buffers) 序列化协议开发,且支持众多开发语言。
用户5521279
2019/12/20
7.2K0
用Python进行gRPC接口测试
用Python进行gRPC接口测试(二)
各位被困在家中的小伙伴们,大家新年好~今天将继续为大家带来用Python进行gRPC接口测试的续集,上次主要讲了一下前期准备工作和简单RPC通信方式的实现,这次我们将着眼于另一类gRPC接口的通信形式——流式RPC。
用户5521279
2020/02/21
2.4K0
Locust完成gRPC协议的性能测试
对于分布式系统而言,不同的服务分布在不同的节点上,一个服务要完成自己的功能经常需要调用其他服务的接口,比如典型的微服务架构。通常这种服务调用方式有两种,一种是发送HTTP请求的方式,另一种则是RPC的方式,RPC是Remote Procedure Call(远程过程调用)的简称,可以让我们像调用本地接口一样使用远程服务。gRPC是一个由 google 推出的、高性能、开源、通用的 rpc 框架。它是基于 HTTP2 协议标准设计开发,默认采用 Protocol Buffers 数据序列化协议,支持多种开发语言。ProtoBuf buffer 是一种数据表达方式,以.proto 结尾的数据文件,可以类比 json、xml 等。
Criss@陈磊
2021/06/10
2K0
Locust完成gRPC协议的性能测试
用Python进行gRPC接口测试(三)
在近期的测试中,小编又遇到了一些关于grpc接口的测试,踩了一些坑,也总结了一些经验,想与大家分享交流一下。本期我们主要来谈谈有关protobuf中一些特殊数据类型在python中的处理方式。由于目前protobuf3已经成为主流,本文将直接以proto3进行探讨。
用户5521279
2020/05/28
1.6K0
Grpc服务开发和接口测试初探【Java】
最近要准备开始测试gRPC框架的接口了,所以特来学习一下gRPC的基础知识。首先我们看一下百科定义定义:
FunTester
2022/05/17
7380
gRPC服务开发和接口测试初探【Go】
之前写过了Grpc服务开发和接口测试初探【Java】,中间耽搁了一些时间,Go版本的gRPC测试开发实践才有时间学习使用。其中也是由于自己Go语言不够熟悉导致的。之前有段时间想暂时放弃Go语言的学习,导致了Go的生疏,原因是从Groovy到Java性能。
FunTester
2022/05/17
6230
数据库测试-上下文控制
private ConnectionHolder connectionHolder = () -> instance("junit5-pu").connection(); (1)
Antony
2020/12/01
5830
GRPC: 实现 gRPC 代理
使用 rk-boot 启动的 gRPC 代理有一个限制。只有通过代码形式发送的请求,才可以被代理。grpc-gateway 或者 grpcurl 形式的请求暂时不支持。
尹东勋
2021/11/13
2.6K0
GRPC: 实现 gRPC 代理
.NET Core 3.1 的REST 和gRPC 性能测试
看到越南小哥 的github 上的Evaluating Performance of REST vs. gRPC , 使用的是.NET Core 3.0 , 今天我把它升级到.NET Core 3.1 同样做了一个测试,文章的结果和他的博客文章是一样的。
张善友
2020/06/19
1K0
.NET Core 3.1 的REST 和gRPC 性能测试
gRPC
gRPC 本文转载自http://www.topgoer.com/ - gRPC 安装 gRPC简介 Protobuf⇢Go转换 Protobuf语法 小案例 OpenSSL安装 认证 拦截器 内置Trace HTTP网关
ccf19881030
2020/11/24
6910
阅读圣经丨测试上下文理解
在《圣经2》中,关于上下文理解这一块,白茶看到两个有意思的小测试,决定分享给各位小伙伴。
PowerBI丨白茶
2021/09/02
9150
阅读圣经丨测试上下文理解
上下文驱动测试(Context-Driven-Testing)
前几天在和邰晓梅老师交流的时候,她提到了基于上下文驱动的测试理论,就去查找了一些相关的资料,发现有很多和自己的想法是相同的,不知道大家是否听说过这个理论呢?如果你听说过,可以直接跳过去,从第3点开始看。
CKL的思考
2023/02/01
3510
gRPC及gRPC-Web
官方指南 由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。
matt
2022/10/25
2.8K0
gRPC及gRPC-Web
PowerPivot筛选上下文学习测试
现在来测试你是否掌握了数据建模的基本知识。由于本章节偏重概念讲解,练习设计是以测试回答问题的方法。(练习的答案在本文的最底部)。
公众号PowerBI大师
2019/08/06
4400
PowerPivot筛选上下文学习测试
Appium上下文和H5测试(一)
微信小程序的前提都是基于 H5,没有 H5 的情况下来操作微信小程序您可能不太明白。H5 是混合应用,有原生应用和混合应用。
清菡
2020/12/02
1K0
Appium上下文和H5测试(一)
深入了解grpc(一):grpc介绍
随着微服务架构和云原生架构的出现,传统的单体应用程序被分解为一组细粒度的、自治的和面向业务能力的“微服务”,网络通信链路的数量激增,进程间(或服务间/应用程序间)通信技术也因此成为了现代分布式系统中至关重要的一个环节。
_94886_860
2022/09/12
8K0
深入了解grpc(一):grpc介绍
[云+社区年度征文]Appium上下文和H5测试(二)
进入这个页面也是需要时间的。WebView 这个元素当中,放的才是 html 页面。真的等到 html 页面加载出来之后,再去获取所有相关的内容,这样比较好。
清菡
2020/11/30
5280
用jmeter-grpc-request性能测试的严重问题
今日收到一个同事的求救信息,说正在做gRPC接口测试,用的是jmeter的一个第三方插件,叫jmeter-grpc-request,平日用着挺好用的,今天设置了100个线程,持续跑,结果才跑了5000来个请求,就卡住了。 卡住了?什么是卡住了呢? 我仔细问了,才知道是jmeter整个没有响应了,只能强行杀进程才能停止。这是怎么回事呢?
TestOps
2022/04/08
1.1K1
用jmeter-grpc-request性能测试的严重问题

相似问题

测试gRPC服务

87

测试gRPC函数

314

GRPC Java登录测试

114

如何测试gRPC API?

74

如何为grpc单元测试(python)创建模拟上下文

17
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文