小编Tob*_*ayn的帖子

如何并行运行 SpecFlow 测试

我尝试使用 NUnit 测试运行程序并行运行 SpecFlow 测试。我在用:

  • C#/.Net Core 3.1
  • NUnit 作为测试运行程序
  • 光谱流

我已在文件顶部添加了这一行(如下所述: https: //specflow.org/documentation/parallel-execution/):

[assembly: Parallelizable(ParallelScope.All)]
Run Code Online (Sandbox Code Playgroud)

测试开始并行执行,但立即抛出错误:

Message: 
    System.ArgumentException : An item with the same key has already been added. Key: NUnitTestProject1.SpecFlowFeature1Steps
Stack Trace: 
    Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior)
    Dictionary`2.Add(TKey key, TValue value)
    TypeRegistration.Resolve(ObjectContainer container, RegistrationKey keyToResolve, ResolutionList resolutionPath)
    ObjectContainer.ResolveObject(RegistrationKey keyToResolve, ResolutionList resolutionPath)
    ObjectContainer.Resolve(Type typeToResolve, ResolutionList resolutionPath, String name)
    ObjectContainer.Resolve(Type typeToResolve, String name)
    TestObjectResolver.ResolveBindingInstance(Type bindingType, IObjectContainer container)
    lambda_method(Closure , IContextManager , Int32 )
    BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing mstest specflow .net-core

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

如何使用 C# 在 Linux 中更改用户密码

以下场景:

  • 我确实有 sudo 权限
  • 我知道用户的新旧密码

现在我想编写一个可以更改用户密码的 C# .NET 6 应用程序。在Linux中我只会调用

sudo passwd username
Run Code Online (Sandbox Code Playgroud)

我的第一个想法是创建一个新进程,重定向标准输入并在那里写入密码。
另一种选择是创建一个 bash 脚本并从 C# 调用它(也使用新进程)。

然而,两者对我来说似乎都有点老套。C# 中有没有可以在进程中更改密码的选项?

.net c# linux .net-core .net-6.0

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

Azure Pipelines:作业失败通知

如果天蓝色管道中的特定作业失败,是否可以发送电子邮件通知?

基本上,在我的管道中的测试阶段,多个作业并行运行,执行不同的测试套件。每个测试套件都有一个不同的人负责,如果失败则必须得到通知。

我只能找到有关整个管道失败的通知选项,但这不是我想要做的。

我目前也没有创建任何工作项目,并且找不到“发送电子邮件任务”或类似的东西。

我当然可以编写自己的脚本并在作业失败时执行它,但我想知道是否有更简单的方法来解决我的问题。

.net email yaml azure-devops azure-pipelines

4
推荐指数
1
解决办法
8512
查看次数

Azure DevOps中的构建管道和发布管道之间有什么区别?

我已经Azure DevOps通过使用.yaml文件建立了几个多阶段的构建管道。我已经读过有关可用的“发布管道”的信息,我想知道这些管道有什么好处?

他们似乎在做同样的事情,甚至不提供YAML的支持。那么,这里的主要区别是什么?通过使用发布管道而不是通常的构建管道可以做什么?

azure devops azure-devops azure-pipelines

3
推荐指数
3
解决办法
114
查看次数

了解 Azure 事件中心分区消费者模式

Azure 事件中心使用文档中描述的分区使用者模式。当谈到现实世界的场景时,我在理解这个模型的消费者方面有一些问题。

所以假设我有 1000 条消息发送到具有 4 个分区的事件中心,没有定义任何分区 ID。这意味着消息将使用循环方法发送到所有分区。

现在我想让两个应用程序将消息分发到两个不同的数据库。我的问题是:

  1. 假设对于第一个应用程序,我想将所有消息存储在数据库 1 中。这意味着,为了获得最大速度,在我的消费者应用程序中,我需要有 4 个线程(消费者),每个线程侦听事件中心的一个分区,对吗?他们每个人还必须为他们正在读取的分区(检查点)存储自己的偏移量。
  2. 假设我的第二个应用程序想要过滤消息并且只在数据库 2 中存储它们的一个子集。我还需要 4 个消费者,因为我不知道哪个消息去哪个分区,对吧?
  3. 同样对于这两个应用程序,我需要有两个消费者组,但为什么呢?消费者组中是否定义了消息过滤?我真的不明白为什么我需要这个,因为应用程序消费者自己存储分区检查点,我可以在应用程序本身内进行过滤。

我知道有EventProcessorHost类,但我想在较低级别上了解 EventHub 的概念。

cloud azure bigdata iot azure-eventhub

3
推荐指数
1
解决办法
1579
查看次数

AMQP 中的通道和链接有什么区别?

我正在尝试了解 AMQP 协议的框架部分。我知道 AMQP 首先打开一个 TCP 连接,然后在该连接内使用多个通道来防止建立多个 TCP 连接的开销(这在这里有很好的解释)。现在我正在努力理解链接如何发挥作用。所以根据我的理解,它的工作原理如下:

  1. 在两个容器(基本上是两个程序)之间建立连接(大多数情况下是 TCP)
  2. 创建多个通道。它们不绑定到任何节点
  3. 会话结合了每个方向的两个通道,但仍然不绑定到任何节点
  4. “链接”将会话绑定到两端的两个节点

我的理解正确吗?既然已经有了渠道,为什么还需要“链接”的概念呢?为什么不直接让通道成为两个节点之间的连接呢?用简单的英语来说,频道和链接之间有什么区别?

微软表示:

通道是连接之上的单向出站虚拟传输路径。

链接是通过会话创建的通信路径,可以单向传输消息

这对我来说基本上是一样的。如果有人能用简单的术语解释频道、会话和链接之间的关系,我将非常高兴。

c# java network-programming amqp rabbitmq

3
推荐指数
1
解决办法
2086
查看次数

Kubernetes如何映射多容器Pod的端口?

我正在尝试学习 Kubernetes。我不明白的一件事是以下场景:

鉴于我有一个带有 2 个容器的 Pod。一个容器运行一个侦听端口 80 的应用程序,另一个容器是一个 sidecar,它从 Web 资源进行一些轮询,但不侦听任何端口。

现在,当我使用 = 80 启动服务时TargetPort,Kubernetes 如何知道 pod 中的哪个容器公开此端口?它是否检查所有容器以检查暴露的端口?或者它只是在Pod 内的所有容器上对端口 80 进行映射?

此外,是否可以更改 Kubernetes 中容器公开的端口,以便容器公开的端口 (= ) 映射到容器内的containerPort不同端口?我的意思是类似Docker 中的-p参数。

containers kubernetes

3
推荐指数
1
解决办法
1143
查看次数

要求 ts-node 和 ts-node/register 有什么区别

我正在使用量角器和打字稿对角度应用程序进行一些端到端测试。在设置过程中我发现我必须使用:

要求(“ts节点/注册”)

由于我是node.js的新手,我想知道为什么这里需要“/register”以及为什么我不能只使用require(“ts-node”)?

commonjs node.js typescript protractor

2
推荐指数
1
解决办法
2982
查看次数

如何从启动中删除 Docker.Service

每次启动计算机时,Docker.Service 服务都会加载到我的内存中。

系统:Windows 10 Pro 1903、Docker 2.0.0.3

我试图通过以下方式避免这种情况:

  • 在任务管理器启动选项卡中禁用 docker
  • 在 Docker for Desktop 本身中禁用它
  • 从注册表中的 Run / RunService 文件夹中删除所有与 docker 相关的条目

重新启动计算机后,Docker.Service 仍然出现在我的任务管理器中。如何防止我的计算机在启动时加载 Docker.Service?

windows containers docker windows-10 docker-for-windows

2
推荐指数
1
解决办法
1735
查看次数

OPC-UA “值”和“属性值”有什么区别

我实际上正在学习 OPC-UA。我正在使用 LibUA 的 c# 演示服务器(可以在这里免费下载:https : //github.com/nauful/LibUA)。对于那里的每个节点,我看到两个值,一个在“数据访问视图”中不断变化,一个在“属性”视图中静态:

在此处输入图片说明

查看代码并阅读订阅如何在 OPC-UA 中工作后,我现在明白为什么动态值会不断变化。但是属性窗口中的这个“静态”值是什么?这是什么原因?为什么每个节点有两个值,一个是动态的,一个是静态的?

静态的由演示服务器中名为“HandleReadRequestInternal”的方法生成。什么是“内部”读取请求?我在规范中找不到任何关于此的信息。也许一些专家可以在这里帮助我澄清一些问题。:)

谢谢!

c# iot server opc-ua

0
推荐指数
1
解决办法
998
查看次数