小编use*_*699的帖子

使用MsTest进行SonarQube测试覆盖

我一直试图SonarQube使用一个简单的点网应用程序.我已经取得了一些成功,但是代码覆盖率无法正常运行.

当SonarQube停止支持许多"转到"覆盖工具(例如DotCover and OpenCovervia Gallio)时,看起来许多其他人都面临这个问题

我遵循的例子是:

我尝试了一些VS命令行工具来生成.coverage文件

vstest.console.exe .\UnitTestProject1\bin\Debug\UnitTestProject1.dll /EnableCodeCoverage
Run Code Online (Sandbox Code Playgroud)

CodeCoverage.exe collect /output:DynamicCodeCoverage.coverage .\UnitTestProject1\bin\Debug\UnitTestProject1.dll
Run Code Online (Sandbox Code Playgroud)

并写了一些代码,想把它.coveragexml这里转换成文件

要获得以下XML:

<?xml version="1.0" standalone="yes"?>
<CoverageDSPriv>
  <Module>
    <ModuleName>unittestproject1.dll</ModuleName>
    <ImageSize>32768</ImageSize>
    <ImageLinkTime>0</ImageLinkTime>
    <LinesCovered>12</LinesCovered>
    <LinesPartiallyCovered>0</LinesPartiallyCovered>
    <LinesNotCovered>0</LinesNotCovered>
    <BlocksCovered>9</BlocksCovered>
    <BlocksNotCovered>0</BlocksNotCovered>
    <NamespaceTable>
      <BlocksCovered>9</BlocksCovered>
      <BlocksNotCovered>0</BlocksNotCovered>
      <LinesCovered>12</LinesCovered>
      <LinesNotCovered>0</LinesNotCovered>
Run Code Online (Sandbox Code Playgroud)

甚至可以使用XSLT样式表提供可供SonarQube运行器使用的样式表

<?xml version="1.0" encoding="utf-8"?>
<results>
  <modules>
    <module name="unittestproject1.dll" path="unittestproject1.dll" block_coverage="100" line_coverage="100" blocks_covered="9" blocks_not_covered="0" lines_covered="12" lines_partially_covered="0" lines_not_covered="0">
      <functions>
        <function name="Setup" type_name="UnitTest1" block_coverage="100" line_coverage="100" blocks_covered="1" blocks_not_covered="0" lines_covered="2" lines_partially_covered="0" lines_not_covered="0">
          <ranges> …
Run Code Online (Sandbox Code Playgroud)

mstest code-coverage sonarqube vstest

9
推荐指数
1
解决办法
6939
查看次数

在 k8s 集群中,我是否应该始终调用入口规则或节点端口服务名称?

我的系统内有许多令人安心的服务

  • 有些是我们kubernetes集群内的
  • 其他的则位于基础设施上并托管在虚拟机上

我们的许多Restful 服务都会相互同步调用(因此不是使用消息队列异步调用)

我们还有许多使用这些服务的 UI(胖客户端或 Web 应用程序)

我们可以像这样定义一个简单的 k8s 清单文件

  1. 服务
  2. 入口
apiVersion: v1
kind: Pod
metadata:
  name: "orderManager"
spec:
  containers:
    - name: "orderManager"
      image: "gitlab-prem.com:5050/image-repo/orderManager:orderManager_1.10.22"
---
apiVersion: v1
kind: Service
metadata:
  name: "orderManager-service"
spec:
  type: NodePort
  selector:
    app: "orderManager"
  ports:
    - protocol: TCP
      port: 50588
      targetPort: 50588
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: orderManager-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
    - http:
        paths:
          - …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubernetes-ingress kubernetes-networking

5
推荐指数
1
解决办法
613
查看次数