小编Tyl*_*sen的帖子

NUnit 不使用 .runsettings 文件中的参数和设置

我试图将现有的 Selenium 解决方案切换为使用 NUnit,因为它支持同一类中的测试并行化。我遇到的问题是它似乎没有使用选定的.runsettings文件,尽管NUnit 支持它。我的意思是TestContext.Parameters.Count它始终为 0,并且它不会将结果存储在<ResultDirectory>我的 .runsettings 文件节点中指定的路径中。

我查看了文档和对AdapterSettings的引用(它具有解析 .runsettings 文件的逻辑),但我无法弄清楚为什么我TestContext.Paramaters在使用.runsettings文件时从未在我的测试中填充过。

我创建了一个简单的测试解决方案作为健全性检查和 POC,但它仍然没有填充。

我有
- NUnit 3.7.1
- NUnit3TestAdapter 3.7.0
-VisualStudio Professional 2017

我的 .runsettings 文件是:

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<!-- Parameters used by tests at runtime -->
  <TestRunParameters>
    <Parameter name ="testParameter1" value="value1" />
    <Parameter name ="testParameter2" value="value2" />
  </TestRunParameters>
</RunSettings>
Run Code Online (Sandbox Code Playgroud)

我在测试中尝试做的所有事情:

using System;
using NUnit.Framework;

namespace ClassLibrary1
{
    [TestFixture]
    public class UnitTestClass1
    {
        [Test] …
Run Code Online (Sandbox Code Playgroud)

nunit visual-studio nunit-3.0

7
推荐指数
0
解决办法
1150
查看次数

错误:无法从 .NET Framework 控制台应用程序使用的 .NET 标准库加载文件或程序集“Microsoft.Win32Registry”

问题

Microsoft.Win32.Registry nuget 包给我带来了很多问题。我们有 .NET Framework 4.7.2 库,其中有一个使用该包的帮助程序类,并且在 .NET Framework 4.7.2 单元测试项目中运行良好。我们最近将该库转换为目标 .NET Standard 2.0,现在该类在使用时会出现以下错误:

错误:System.IO.FileNotFoundException:无法加载文件或程序集“Microsoft.Win32.Registry,Version=4.1.1.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。该系统找不到指定的文件。文件名:“Microsoft.Win32.Registry,Version=4.1.1.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”位于 NetStandardRegistryLib.RegistryUtil..ctor(String remoteMachineName) at NetStandardRegistryLib.Program.Main(String[] args),位于 C: \src\Microsoft.Win32.Registry-IssueRepro\FrameworkRegistry\RegistryEditor\Program.cs:第 21 行

当我查看控制台项目的输出时,我Microsoft.Win32.Registry.dll在输出中没有看到 。

使用ILSpy并加载我的 .exe - 它似乎会尝试从我的 dotnet core 安装中解析 .dll,但由于它是 .NET Framework 应用程序,因此无法正常工作。

重现

我创建了一个可以在我的 Windows 2010 计算机上重现的存储库。您可以在这里找到它:https ://github.com/TylerNielsen/Microsoft.Win32.Registry-IssueRepro

克隆存储库,然后打开并构建RegistryEditor项目。

使用 Powershell 或您喜欢的编辑器 - 使用三个必需参数调用该工具 [remoteMachineName] [要设置的环境变量名称] [要在环境变量上设置的值] **

** 注意,这实际上需要一台可以通过 IP 地址引用的远程计算机。由于某种原因,使用 127.0.0.1 对我不起作用,但我不确定为什么。该实用程序的用例是访问远程计算机环境变量。

其他注意事项

当我创建用于单元测试的 .NET Framework 类库并引用相同的 .NET 标准库时,该Microsoft.Win32.Registry包已包含在内,并且该实用程序运行良好。

.net c# .net-framework-version .net-assembly .net-standard

7
推荐指数
1
解决办法
1万
查看次数

如何从导航器设置状态或调度操作(例如:cypress testing)

赛普拉斯(e2e 测试)给出的一个好的做法是以编程方式设置应用程序的状态,而不是使用 UI。这当然是有道理的。

在这个视频https://www.youtube.com/watch?v=5XQOK0v_YRE Brian Mann 提出了这个暴露 Redux 存储的解决方案:

曝光店铺

NGXS 是否有可能在测试期间以编程方式访问不同的状态?一个例子是登录过程:直接调度登录操作或使用访问令牌设置商店,在任何测试之前登录,会很好。

cypress ngxs

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

CloudFlare 工作线程环境创建单独的服务,每个服务有 1 个环境,而不是 1 个服务有 2 个环境

我对 Cloudflare Worker Environments的预期功能感到困惑。

在 CloudFlare 仪表板中,工作人员有一个环境下拉列表,默认为“生产”。我认为通过利用 Wrangler 文件中的环境,我将拥有一个工作人员,但具有多个环境。然而,最终发生的事情是我只有两个工作人员,最后添加了环境(my-worker-dev 和 my-worker-prod)。这些工作人员中的每一个都有 1 个环境(生产环境)。

我不确定我是否做错了什么或者只是误解了预期的行为。

有人可以帮助我理解牧马人如何在单个工作人员/服务中添加不同的名称和“环境”下拉列表之间的区别吗?

我的 wrangler.toml 文件

name = "my-worker"
type = "javascript"
account_id = "<redacted>"
workers_dev = true
compatibility_date = "2021-12-10"

[env.dev]
vars = { ENVIRONMENT = "dev" }

kv_namespaces = [
  { binding = "TASKS", id = "<redacted>", preview_id = "<redacted>" }
]

[env.prod]
vars = { ENVIRONMENT = "prod" }
kv_namespaces = [
  { binding = "TASKS", id = "<redacted>", preview_id = "<redacted>" },
] …
Run Code Online (Sandbox Code Playgroud)

cloudflare cloudflare-workers

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