首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用c8生成运行在docker中的节点微服务的代码覆盖率?

c8是一个用于生成代码覆盖率报告的工具,可以帮助开发人员评估他们的代码在测试中的覆盖率情况。下面是使用c8生成运行在Docker中的节点微服务的代码覆盖率的步骤:

  1. 首先,确保你已经安装了Node.js和Docker,并且已经在本地环境中配置好了它们。
  2. 在你的项目根目录下,使用命令行工具运行以下命令,安装c8和其他必要的依赖:
  3. 在你的项目根目录下,使用命令行工具运行以下命令,安装c8和其他必要的依赖:
  4. 在你的项目根目录下,创建一个名为.nycrc的文件,并在其中配置c8的相关选项。以下是一个示例配置:
  5. 在你的项目根目录下,创建一个名为.nycrc的文件,并在其中配置c8的相关选项。以下是一个示例配置:
    • include:指定需要计算覆盖率的代码文件的路径。
    • exclude:指定需要排除在覆盖率计算之外的文件或目录。
    • reporter:指定生成覆盖率报告的格式,这里使用了lcov和text-summary两种格式。
    • all:设置为true,表示计算所有的覆盖率,包括未被测试到的代码。
  • 在你的项目根目录下,使用命令行工具运行以下命令,启动Docker容器,并在其中运行你的节点微服务:
  • 在你的项目根目录下,使用命令行工具运行以下命令,启动Docker容器,并在其中运行你的节点微服务:
    • -v $(pwd):/app:将当前目录挂载到Docker容器的/app目录下。
    • -w /app:将工作目录设置为/app。
    • node:latest:使用最新版本的Node.js镜像。
    • node your_service.js:在容器中运行你的节点微服务。
  • 在Docker容器中运行节点微服务时,添加c8的命令行参数,以收集代码覆盖率数据。以下是一个示例命令:
  • 在Docker容器中运行节点微服务时,添加c8的命令行参数,以收集代码覆盖率数据。以下是一个示例命令:
    • -r c8:在运行时加载c8模块。
  • 在Docker容器中运行完节点微服务后,使用以下命令生成代码覆盖率报告:
  • 在Docker容器中运行完节点微服务后,使用以下命令生成代码覆盖率报告:
  • 生成的代码覆盖率报告将会显示在命令行中,并且还会在项目根目录下生成一个名为coverage的文件夹,其中包含了详细的覆盖率报告文件。

请注意,以上步骤假设你已经在项目中使用了适当的测试框架,并编写了相应的测试用例。只有在运行测试用例时,c8才能够收集到代码覆盖率数据。

推荐的腾讯云相关产品:腾讯云容器服务(Tencent Kubernetes Engine,TKE),它提供了强大的容器编排和管理能力,可以帮助你轻松部署和管理运行在Docker中的微服务。了解更多信息,请访问TKE产品介绍

相关搜索:如何使用xdebug生成详细的代码覆盖率报告?如何使用新的cabal生成HTML代码覆盖率报告?如何使用docker组合延迟我的节点红色docker服务?如何从运行在docker容器中的python脚本(使用docker sdk)创建镜像?如何从同一个wordpress服务器访问运行在docker容器中的数据库(docker容器运行在同一服务器上)?如何在Mac上使用JetBrains Rider开发和调试运行在Docker中的.NET核心应用如何使用jest在typescript中的一个类的方法中获得嵌套承诺的代码覆盖率?如何使用运行在Linux Docker中的XMS .NET核心应用程序向IBM进行身份验证?如何使用可视化代码远程调试云实例中的docker容器如何在visual studio代码中的奇点/docker图像中使用python解释器?在Bitbucket Pipeline中,如何使用新生成的Docker镜像动态检测和启动容器在Android Studio中,导入tensorflow lite模型后,如何使用生成的示例代码?如何查找在process.binding中使用的源文件(‘..’)在节点源代码中?如何阻止Visual Studio代码在使用代码段生成的新行中添加两个空格?如何使用shell脚本获取docker服务名称前缀的首字母(可能是docker swarm中的堆栈名称)如何使用nginx通过docker在生产环境中为我的mern应用提供服务?如何在Hyperledger fabric中设置网络,而不使用Docker Swarm或Kubernetes,其中对等节点位于不同的物理机中?如何将自定义代码追加到生成的服务工作者文件中如何将Webpack生成的代码插入到服务器端node.js脚本中?如何使用Eclipse IDE向Java web服务中的响应XML添加响应代码?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

服务架构与实践 学习笔记(1)

参考:微服务架构与实践 第二章 微服务架构”应该遵循两个基本前提: 业务独立性。应该保证微服务是具有业务独立性单元,并不能只是为了。...对于每个服务,都有独立代码库,当对当前服务代码进行修改后,并不会影响其他服务。从代码层面而言,服务服务是隔离。...另外,Docker优势也主要体现在以下几个方面: 更快速地交付和部署,开发者可以使用一个标准镜像来构建镜像,开发完成之后,维人员可以直接使用这个镜像来部署。...同时,利用Docker容器化技术,能够实现一个节点上运行成百上千Docker容器,每个容器都能独立地运行一个服务,因此极大降低了随着微服务数量增多所导致节点数量增多成本。...在分布式系统,为了保证数据一致性,通常我们会考虑使用分布式业务管理。但由于分布式事务管理需要跨多个节点来保证数据瞬时一致性,因此比起传统单块架构事务,成本要高多。

37320

企业信 web 项目工业级蜕变

2.前端架构 前端架构是一种类似于微服务架构,它将微服务理念应用于浏览器端,即将 Web 应用由单一单体应用转变为多个小型前端应用聚合为一应用。...变化快代码,不利于用单元测试 2. 不能高内聚代码,不能使用单元测试 总体来说业务代码还是比较难使用单元测试,而我们大部分做就是业务代码,迭代速度快。...但是针对于通用组件还是比较适用,所以针对 UI 组件、基础组件,我们都有进行了单元测试处理。 4.2 方案二:代码覆盖率 引入代码覆盖率,使代码测试情况可以被衡量。...每次构建会运行在 docker ,而优化所需要 cache 每次都需要拉取和归档,随着项目越来越大,cache 越来越大,拉取和归档平均耗时超过了 5 分钟。...这个领域已经有很多前端团队探索,在开发方式上可以让开发者不再关注服务维,转而更加专注业务。 >>华丽广告位<< 企业信前端团队,担负着企业信复杂各类前端业务。

75020
  • 信云托管趣味讲解:Docker、镜像、容器那些事

    也就是: 指令 -> 镜像 ( 项目+基础镜像 ) + Docker = 项目镜像 信云托管 / 服务器 -> 容器 项目镜像 + 容器 = 项目部署 正确使用 Docker,理想效果是:开发者只需要提供项目的代码...Docker 镜像和在服务自行打的镜像类似,不同点在于自行打的镜像是运行在服务,或者分拆小虚拟机;而 Docker 镜像需要运行在一个“沙盒”环境,这个“沙盒”环境所依赖就是容器化技术...容器化技术, 以及 Docker 出现,其实都是在改善 IaaS 服务器维护处理所带来弊端,比如运行环境不一致、网络配置繁琐,虽然有针对维工具可以减小这类压力,但多多少少要付出一些成本。...结论就是: 容器服务 + 常用数据库 + 自动扩缩容 + 维附属服务(监控、日志、告警) + 云生态 + 信生态 + X(更多能力开发)= 信云托管 https://cloud.weixin.qq.com...关于信云托管,使用过程若有问题或建议,欢迎来到信开放社区 信云托管 专区一起交流讨论。 image.png

    1.5K30

    DevOps中有完善持续交付体系么?

    4. 80%以上单元测试覆盖率 提高单元测试意义最重要一点是保证代码所对应功能正常、而单元测试覆盖率检查是以一种约束方式来规范开发人员使用单元测试,通过设置单元测试覆盖率关卡来保障开发代码正确性...落地方式包括但不限于下述几点: l 维人员、对应开发及测试人员、产品经理等信通知 l 大屏滚动播放最近变更记录 l 变更记录同步到监控系统 12....,直至所有团队准备就绪,整个功能涉及到服务全部上线后,可以打开此功能开关,提供用户使用。...较高接口测试覆盖率 提高接口测试覆盖率就意味着我们可以提高自动化测试覆盖率,在每次构建流水线可以自动部署我们项目,通过接口测试来实现基础自动化测试。...另外接口测试可以提供给维平台一个监控服务是否稳定依据,我们可以通过监控平台实时触发接口测试,来判断线上服务是否依然稳定运行。通过这种接口测试,我们可以最快速度定位到某些线上某些功能故障。

    47310

    DevOps中有完善持续交付体系么?

    正文: 我们如何去评估目前DevOps持续交付建设情况呢,这里笔者总结了一些我们在DevOps初期应该进行一些工作,这些工作大多数属于工具链集成,我们可以对照下述十四条关卡,来验证一下我们DevOps...4, 80%以上单元测试覆盖率 提高单元测试意义最重要一点是保证代码所对应功能正常、而单元测试覆盖率检查是以一种约束方式来规范开发人员使用单元测试,通过设置单元测试覆盖率关卡来保障开发代码正确性...落地方式包括但不限于下述几点: l 维人员、对应开发及测试人员、产品经理等信通知 l 大屏滚动播放最近变更记录 l 变更记录同步到监控系统 12, 功能开关 功能开关概念很容易理解,通过功能开关我们可以在运行过程对某一功能进行启动和关闭...13, 较高接口测试覆盖率 提高接口测试覆盖率就意味着我们可以提高自动化测试覆盖率,在每次构建流水线可以自动部署我们项目,通过接口测试来实现基础自动化测试。...另外接口测试可以提供给维平台一个监控服务是否稳定依据,我们可以通过监控平台实时触发接口测试,来判断线上服务是否依然稳定运行。通过这种接口测试,我们可以最快速度定位到某些线上某些功能故障。

    58720

    农行 DevOps 进行时之最佳实践分享:实现 .net web 单元测试代码覆盖率统计

    单元测试代码覆盖率是软件测试一个度量指标,是衡量程序代码被测比例和程度,DevOps 标准需要项目单元测试代码覆盖率和接口覆盖率达到一定比例。...但运行在 IIS ASP.NET 下 Web 应用程序,在程序运行期间去收集代码覆盖率时候,需要 TFS 生成流水线中使用命令行工具做单独配置。...TFS生成定义Agent任务执行。...二、基于RunTime单元测试代码覆盖率收集 个人网银系统使用自研 .net 框架 EBF 进行开发,EBF 框架采用模板和配置思想,将交易分为 Action-Operation-OpStep 三层...依赖配置、服务机制,实现基于 runtime 测试框架,能够实现对 Opstep、DAO、工具类、辅助类测试目标。

    1.2K10

    阿里华为等大厂都这么做容器调度和服务编排

    镜像仓库 解决Docker镜像存储和访问 资源调度 决定Docker镜像可分发到哪些机器 这些解决后,就该考虑如何在集群创建容器,即容器调度。...容器创建后如何运作才能对外提供服务,即容器调度。 1 容器调度 当服务需要发布时候,该选择哪些机器部署容器。...若集群机器规模上百台,要发布服务上百个,就不能靠人肉维,需要有专门容器调度系统,所以很多基于Docker容器调度系统,比如Swarm、Mesos。Kubernetes。 它们能解决哪些问题呢?...好处:可以使每台主机负载都比较平均,而且如果有一台主机有故障,受影响容器也最少 binpack策略 正好相反,会选择一个资源使用最多节点,好让容器尽可能行在少数机器上,节省资源同时也避免了主机使用资源碎片化...以业务为例,服务除了部署在内部两个IDC,还在阿里云上也有部署,这样的话,内部机房上创建容器节点就应该加入到内部IDC分组,而云上节点应该加入到阿里云IDC。

    37320

    完美,这份七牛大神在线翻译国外大牛精简K8S学习笔记

    现在,我们在七牛内部全面推广和应用Kubernetes,不仅把无状态服务行在Kubernetes,也把有状态服务比如数据库运行在Kubernetes,正如使用GoLang提高了我们开发效率一样,...使用Kubernctes大大提高了我们部署和维效率。...熟练地掌握和使用Kubernctes,将成为每个前后端工程师必备技能,Kubernetes将成为发布前后端服务标准途径。...由于篇幅问题仅展示部分目录,私信小编【学习】即可获取全部文档 Kubernetes介绍 开始使用Kubernetes和Docker pod:运行于Kubernetes容器 副本机制和其他控制器...API服务安全防护 保障集群内节点和网络安全 计算资源管理 自动横向伸缩pod与集群节点 高级调度 开发应用最佳实践 Kubernetes应用扩展 由于篇幅限制小编,

    61720

    【美团技术博客】Docker系列之二:基于容器自动构建

    背景 美团代码发布系统有中央控制节点,负责代码拉取、应用构建和上传等任务。...随着业务迅速增长,应用发布项数目和单个发布项服务器数量也随之增长,节点任务加重,几个问题也变得亟待解决: 不同应用构建环境在同一个虚拟机上,需要解决环境冲突和隔离问题 多个应用同时构建会竞争发布机...通过该配置文件可指定构建容器使用镜像,一些环境变量,以及构建命令等。系统从私有的Docker registry获取镜像,并根据YAML配置生成Docker容器,在此容器完成构建。...原来在发布机上构建时,如果需要依赖在发布机上还没有,就需要给维人员提需求来进行配置,这个过程不够敏捷。使用自动构建后,开发人员可自行在YAML格式配置文件指定构建环境。...第二,将Docker用于应用部署。完成自动构建后,容器已经有了应用程序包,再加上运行时依赖,即可让这个容器直接提供服务

    1.1K100

    1. Kubernetes详细介绍

    内容 应用开发和部署方式在近几年发展趋势 容器如何保障应用间隔离性,以及减少应用对部署环境依赖性 docker容器如何在Kubernetes系统应用 Kubernetes如何提高开发人员和系统管理员工作效率...这正是Kubernetes用武之地 脱离维团队 Kubernetes使开发可以自主部署应用,并控制部署频率,完全脱离维团队帮助 含义 Kubernetes是希腊语领航员或舵手意思 巨大资源池...每个微服务以独立进程运行,并通过简单且定义良好接口通信 每个微服务可用最适合开发语言来实现 可独立开发、部署、扩容单个微服务 服务增加导致部署相关配置越来越困难 多个进程和机器间通信,使得调试代码和定位异常调用变得困难...多个容器会完全执行运行在宿主机上同一个内核系统调用 虚拟机将物理硬件资源分成较小部分虚拟硬件资源,每个虚拟机里操作系统使用 ?...:通过使用容器,不用再把应用绑定在一个特定集群节点,可以在集中自由迁移 健康检查和自我修复:Kubernetes监控应用和节点,并在节点出现故障时自动调度到其他节点 自动扩容:使用Kubernetes

    1.1K11

    服务架构初探

    同时,服务使用最小规模集中管理 (例如Docker)技术,服务可以用不同编程语言与数据库等。 光看概念你可能有点蒙,我们一起来探究下究竟什么是微服务架构。...为此,首先可以把用户模块从单体应用拆分出来,独立成一个服务部署,以RPC接口形式对外提供服务博和消息模块调用用户接口,就从进程内调用变成远程RPC调用。...每个微服务都严格遵循独立打包部署准则,互不影响。比如一台物理机上可以部署多个Docker实例,每个Docker实例可以部署一个微服务代码服务独立维护。...以此类推,通过这种层层往下传递方式,一次请求,无论最后依赖多少次服务调用、经过多少服务节点,都可以通过最开始生成requestid串联所有节点,从而达到服务追踪目的。...在生产环境,你应该经常会遇到下面几种状况。 单机故障。通常遇到单机故障,都是靠维发现并重启服务或者从线上摘除故障节点

    23510

    同时面向维和开发企业级PaaS平台--OpenShift

    随着容器技术兴起,越来越多的人都在关注这项技术。既然Docker是一项很不错技术,如何将它应用到企业呢?对此,红帽提供了基于容器、同时面向维和开发企业级开源PaaS解决方案。...Kubernetes主要解决docker编排部署问题,此外,提供了一定维能力。...Master节点通过Node节点服务管理Node节点,管理Node节点健康状态。在生产环境,通常至少部署3个master节点。 Node节点提供容器运行环境。...在以上概念,Master和Node节点概念相对好理解,前者负责管理,后者服务提供容器运行所依赖资源。针对后几个概念,笔者用相对通俗语言进行介绍。...一个Pod只能在一个Node节点上,pod有自己IP。多个Pod一起为一个应用提供服务,组成一个Service,它有一个Service IP。Service不同pod可以运行在不同node上。

    2K120

    测试维工程师必备技能之Java专项

    等其他框架;为了代码监控,日志框架log4j2也是大家应该掌握;当然代码版本管理系统,如Git、SVN等版本控制管理工具熟练使用也是不可或缺。...除了之前跟大家谈过DockerDocker管理,持续集成利器Jenkins,可视化工具BlueOcean,这里想跟大家多谈一谈如何提高Java代码质量。...在TestOps、DevOps、测试敏捷化体系,测试左移是谈非常多一个理念,测试左移鼓励不断加大前驱测试阶段测试覆盖率,特别是单元测试阶段。...这里还需要大家了解是单元测试覆盖率工具Jacoco、Cobertura等,以及Jacoco集成Ant、Maven统计Tomcat服务代码覆盖路。...持续部署 对于已经做到持续集成,并经过单元测试、代码审查、自动化测试通过代码来说,想要做到快速上线,持续部署也是必须具备,而TestOps作为能够保证测试更快落地执行的人员,对于持续部署能力也是不能比维人员差

    36250

    小米弹性调度平台Ocean——从PaaS到DCOS

    IT 大咖说(信id:itdakashuo)作为独家视频合作方,经主办方、演讲者以及信公众号——小米维(信id:MI-SRE)审阅授权发布。...数据结构很简单,就是为服务器打TAG,再通过定义这些TAG顺序来展现整个树结构。 服务服务树内以8个TAG一组定义全局唯一服务标识,作为整个维基础设施所有组件统一串联粒度。...免密安全登录 免密安全登录基于服务节点授权,同时每次登录都需要进行双因素认证。...Ocean在启用容器后,同时也会在容器内植入免密安全登录服务端,这样当任意用户账号拥有了某一个服务节点权限后,就能在登录时完成认证和授权,从而使得物理机和容器登录效果一致。...假设在模型客户端被部署在Ocean平台内,Docker init会把这些运行在Ocean平台Job对应IP和Job信息注册进集群 ,这时服务端就仅需嵌入白名单SDK和配置客服端JobName,还可以通过

    1.5K10

    DevOps整合Jenkins+k8s+CICD

    TEST:成功构建项目后,需要测试代码是否存在BUG或错误。 DEPLOY:代码经过手动测试和自动化测试后,认定代码已经准备好部署并且交给维团队。 OPERATE:维团队将代码部署到生产环境。...2.将下面代码全部覆盖 流水线-Hello word -应用-保存- 立即构建 //所有的脚本命令都放在pipeline pipeline { //执行任务再哪个集群节点中执行...} } } 3.维护脚本 八、Jenkinspipeline流水线-打包质量检测推送docker部署,企业信推送消息 企业信-配置Jenkins-安装插件-在插件管理...打开企业信手机端,在群设置群机器人中,添加机器人 添加成功后,复制Webhook地址,在配置Jenkins时使用 编辑项目pipeline-流水线-流水线语法-片段生成器-示例步骤(qyWechatNotification...:企业信通知) -生成流水线脚本添加至git仓库修改Jenkinsfile 九、Jenkinspipeline流水线,k8s部署,企业信推送消息 1.Jenkins服务器设置免密登入k8s-mast

    2.8K40

    云原生安全怎么做 | FreeBuf甲方群话题讨论

    但其实,云原生不仅是一项技术,也是一种服务、一种思维方式。就国内企业而言,云原生目前接受程度如何?全新架构体系带来了哪些新安全风险?...A3: 说到镜像,使用Docker新手很可能会创建不安全镜像,攻击者很容易借此接管容器,一个是用了过时或者不安全基础镜像,里面往往一堆漏洞;一个是启动应用程序以 root 用户身份运行,这样攻击者一旦利用漏洞取得...但大规模系统迁移过程会比较漫长,期间系统是处在一种混合状态,既有运行在容器服务,也有在容器外运行,甚至是运行在传统非云基础设施上服务。...总而言之,符合云原生架构应用程序应该是:采用开源堆栈(K8S+Docker)进行容器化,基于微服务架构提高灵活性和可维护性,借助敏捷方法、DevOps支持持续迭代和维自动化,利用云平台设施实现弹性伸缩...3.如何判断企业是否真的需要云原生?现阶段云原生、微服务是概念营销,还是能真正实现业务价值?

    44040

    不要争了!技术选择没那么重要

    生活,我们都是用户,我们每天聊信、刷抖音、逛京东、打王者荣耀,你会关心它们后台是用 Java 还是用 Node.js 吗?...对于 Fundebug 技术栈,我经常喜欢和人炫(chui)耀(niu)一点是我们所有应用包括 MongoDB 都是运行在 Docker 容器里面,这极大简化了我们维工作。...我们可以根据需要(重新分配 CPU 和内存资源或者进行多副本扩容)随时在任意节点之间移动应用。在集群需要增加新节点时,也只需要安装 Docker,这个新节点可以用来运行任何应用。...我开源项目hadoop-cluster-docker就是将 Hadoop 集群运行到多个 Docker 容器,这个项目已经累积了近千个 Star,可见大家对于使用 Docker 简化 Hadoop...再说,技术是为工作服务,而不是围绕技术栈去圈定自己工作内容;工作时候,需要什么技术就学习什么技术,永远呆在舒适区是一件很危险事情。

    51430

    容器技术邂逅DevOps,一个新生态形成

    通过标准化、自动化方式提供一个从代码构建、到交付运行、再到维监管一个云端平台,服务于应用开发运维整个生命周期,最终实现应用快速迭代和交付。...每个服务功能尽量轻量、单一,每个模块单独开发、测试,使用最简单、合适技术实现 2. 每个服务都运行在 Docker 容器,一些服务也运行在自己平台上,比如文档、博、社区、周报等等 3....作为一个整体,来提供高质量不间断服务,具有很高容错性;而集群单个节点实现功能上相同或者互补服务,一旦宕机,可以快速被其它节点取代。并且可以通过我们管理平台进行管理、监控。...Cloud Native 是指应用本身可以感知自己运行在一个集群管理环境,并且集群管理基础设施可以帮助用户简单实现这样应用,提供“无限”云端资源,提供服务高可用,开发者更关心服务本身而不是机器...4)本地代码构建镜像及客户端支持 支持将本地代码进行云端构建,提供 Windows、Linux和 Mac 三种平台客户端;无需关联代码托管服务;如同使用本地 docker 一样体验;不需要打包源代码文件

    868100

    Kubernetes实战(二)- 一键部署神器kubeadm

    但是,这样做会带来一个很麻烦问题,即:如何容器化kubelet。 kubelet是Kubernetes项目用来操作Docker等容器运行时核心组件。...由于现在kubelet是运行在容器里,这就意味着它要做这个“mount -F nfs”命令,被隔离在了一个单独Mount Namespace。...对于这个问题,有人说,可以使用setns()系统调用,在宿主机Mount Namespace执行这些挂载操作;也有人说,应该让Docker支持一个–mnt=host参数。...Docker是否已经安装? …… 在通过了Preflight Checks之后,kubeadm要为你做,是生成Kubernetes对外提供服务所需各种证书和对应目录。...其中,app/phases文件夹下代码,对应就是这篇文章详细介绍每一个具体步骤。 kubeadm几乎完全是一位高中生作品。他叫Lucas Käldström,芬兰人,今年只有19岁。

    47720

    为什么是容器,Docker和Kubernetes?

    提示 要参加信课堂以及日常技术交流,请给我们发信(信号:markpah),请注明加入以下哪个群: 微软Azure Stack交流信群 微软Azure Docker交流信群 如果你是一名IT...在这个过程,IT系统架构也随之改变,从原来只能是一个厂商,一个操作系统,一个技术栈烟囱式架构,逐渐演变成不同厂商,不同技术,不同操作系统网状架构 … … 其实这就是我们所说集中式到分布式,单体到微服务整个演化过程...原来IT维人员只需要掌握一个技术栈知识,而现在每个服务使用不同技术栈运行在不同硬件或者虚拟化平台上。 这个问题也必须解决! ?...Docker通过统一开发人员打包交付代码方式,和统一维人员运行软件包方式,让开发人员做到“一次构建,多次运行”,让维人员做到“配置一次,运行任何应用”。 ?...你完全可以在Azure上放3个节点,在AWS放3个节点,另外在家里破旧服务器也放上3个节点来运行你集群和应用。

    94830
    领券