问题标签 [testcontext]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2071 浏览

c# - TestContext 定义的目录的目的是什么?

这些是在TestContextclass中定义的(未弃用的)目录及其各自的定义

DeploymentDirectory

  • 获取为测试运行部署的文件的目录。此属性通常包含TestRunDirectory的子目录。

ResultsDirectory

  • 获取包含测试运行的测试结果和测试结果目录的顶级目录。这通常是TestRunDirectory的子目录。

TestResultsDirectory

  • 获取测试结果文件的目录。

TestRunDirectory

  • 获取包含部署文件和结果文件的测试运行的顶级目录。

TestRunResultsDirectory

  • 获取测试运行结果文件的顶级目录。此属性通常包含ResultsDirectory的子目录。

我觉得他们很模棱两可。每个目录都有一些可靠的示例用法吗?例如,如果我要测试文件 I/O,如果我想创建一个临时的lorem ipsum文件,其中任何一个都可以吗?

0 投票
0 回答
78 浏览

java - 使用 TestContextManager 准备实例时出现 BeanCreationException

我想了解以下两种变体之间的区别:

1:

2:

在我的测试用例中,我使用了构造函数的第二种变体。当我单独运行测试时,一切正常。但是当它与 CI 构建中的其他测试类一起运行时,它失败了。

因此,在进行故障排除后,我将构造函数更改为类似于上面的变体 1,删除了 try..catch 块。有效。

但这种行为背后的原因是什么?

0 投票
1 回答
281 浏览

java - TestSuite 有没有类似 Spring TestExecutionListener 的东西?

目前对于我正在使用的测试TestExecutionListener,它非常完美

测试类:

当我在测试套件中包含这些测试,beforeTestClass(TestContext testContext)afterTestClass(TestContext testContext)为每个测试类执行方法时,这是非常合乎逻辑的:

有没有类似SuiteExecutionListenerTestExecutionListener套房)的东西?

基本上我需要非静态@BeforeClass@AfterClass套件

或者

在 ExecutionListener 中,我需要找出已启动的类:案例或套件。为此,我可以:

  • 分析StackTrace并获取调用类
  • 使用Reflection.getCallerClass(int i)(已弃用)
  • 将调用者类传递给ExecutionManager(顺便说一句,我该怎么做?是否可以像在 Android 中一样放入Object?)TestContextBundle

但我真的不喜欢这些解决方案。SuiteExecutionListener更可取

谢谢

0 投票
1 回答
2045 浏览

c# - c# - selenium - MSTest - 无法使用 testcontext 将结果文件(使用 testcontext.AddResultFile)添加到报告中

我正在使用 MSTest - C#-Selenium运行一套测试。如果有一个失败的步骤,我正在截屏并希望将其与 trx 文件一起上传(附加),

当我将它作为几个测试的单个测试运行并且结果与附件一起运行时,一切都很好。

但是当我并行运行测试时,即使测试失败,我也无法看到带有附件的结果文件

我在 trx 文件中得到以下信息

TestContext 消息:值不能为空。参数名称:路径

我用来将文件附加到 trx 文件的代码是

任何我出错的指针。我在谷歌搜索时看到了几个链接,他们提到这是一个已知问题。我可以做些什么来解决这个问题。

任何指针都会非常有帮助。谢谢

0 投票
0 回答
1138 浏览

c# - C# - .NET - MSTest - 测试上下文 - 添加结果文件 - Selenium 屏幕截图 - 查看结果文件时出现问题

我有一个 Selenium 测试自动化套件(在 MS Stack 中),我在其中为每个测试(以防失败)截屏并尝试附加到测试结果。

我正在使用此解决方案将屏幕截图附加到结果文件中。

c# - selenium - MSTest - 无法使用 testcontext 将结果文件(使用 testcontext.AddResultFile)添加到报告中

我面临的问题是,如果我在 150 个测试中有 20 个测试失败,我有 20 个屏幕截图(这是预期的),但所有这 20 个屏幕截图都会针对每个失败显示。

不知道我在这里做错了什么..

当所有测试都失败时,它看起来非常难看,因为所有 150 个屏幕截图都附加到每个单独的测试中

有什么想法可以解决这个问题吗?

谢谢 在此处输入图像描述

0 投票
0 回答
1259 浏览

c# - c# - MSTEST - MSTest 中的测试结果文件显示每个测试的所有附件(通过和失败)

我有一个 selenium 自动化套件,如果测试失败,测试用例可以截屏。

所有的测试都是单元测试并且是数据驱动的。我所说的数据驱动的意思是对每个数据行执行测试。请参阅下面的示例代码

上面的代码是由 allFlows.xml 中的数据流数量数据驱动的

我面临的问题是当测试失败时,会生成一个屏幕截图,我可以看到每个测试(包括通过测试)附加的屏幕截图我相信这使得 trx 文件变得沉重和丑陋

例如,我有 1 个测试,allFlow.xml 中有 5 个流数据。所以执行的总测试是 5,假设有 2 个测试失败。

报告说 3 次测试通过,2 次测试失败。我现在有两个失败的测试的 2 个屏幕截图。

问题是除了 2 个失败的测试之外,所有 3 个通过的测试都附加了屏幕截图。

知道如何解决这个问题吗?我需要忍受它,因为它是微软的功能/错误吗?

问题类似于此 C# - .NET - MSTest - 测试上下文 - 添加结果文件 - Selenium 屏幕截图 - 查看结果文件时出现问题

我记得有人提出了类似的问题,但没有解决方案?

这是 MSTest 功能吗?

任何帮助都会很棒。

屏幕截图代码如下

谢谢

*********************************编辑**************** ******************

0 投票
0 回答
883 浏览

c# - C# 单元测试 - 使用 runsettings 文件进行有序测试

我正在尝试开发一个自动回归测试框架作为单元测试。所以我使用有序测试来组合不同的测试步骤,并以一种易于使用的方式组合它们。出于配置目的,我想使用runsettings文件,尤其是 TestRunParameters。这在没有任何错误的情况下有效,但仅在单独执行每个测试时才有效。如果我使用orderedtest执行测试,则TestContext我用来访问 TestRunParameters 的对象不再包含它们。我在直接测试该方法以及使用有序测试对其进行测试时调试了该对象。在第一种情况下,对象具有所需的属性,但是当按顺序执行测试时,对象看起来完全不同。这两种执行方式之间是否存在重大差异?

不同的 TestContext 对象:

作为单个测试图片
执行 作为有序测试图片执行

我得到的错误如下:

我执行以测试和加载设置的代码如下:

错误出现在第 11 行,如下所示:

包含在 Visual Studio 的测试执行中的 runsettings 文件:

0 投票
2 回答
552 浏览

c# - 如何读取 Excel 中列中的每一行以进行数据驱动的单元测试

我在我的解决方案中设置了数据驱动的单元测试。它已连线,一切正常,这是大多数在线文章和问题似乎都关注的内容。

我找不到的是我如何在任何给定列的第一行之后读取后续行。

例如,如果我的 excel 文档是这样设置的:

然后回到我的单元测试中,我做了类似的事情:

输出是getValue = "A1"getOtherValue = B1。如果我尝试做这样的事情:

输出仍然完全相同,这是有道理的。

我感到困惑的是如何获得A2, A3,B2等中的值。这样我就可以通过将它们插入 excel 来测试所有不同的场景。

再举一个例子,如果我有这个表:

在上述场景中,我想遍历所有不同的行并确保插入的值是我所期望的。我期望的第一行100,并且在每个额外的行中,我都期望在我的单元测试中出现错误消息。

如果我不能只为每列的多行插入一堆数据,我真的看不出在 excel 中进行数据驱动的单元测试有什么意义。

0 投票
1 回答
167 浏览

c# - 如何在设置 MSTest TestContext 之前执行代码

对于我们的数据驱动测试,我们使用 Excel 文件作为数据源。现在,因为 Excel 文件是二进制数据,我们对 git 有很多头疼的问题(无法区分、文件被覆盖以及由于实际上多次更改的不正确测试数据而隐含的大量误报)。

因此,为了克服这个问题,我认为我们可以使用 Google Drive 来存储数据源并每次下载将使用的 Excel 文件。

现在的问题是,它TestContext是在AssemblyInitialize我从 Google Drive 下载数据源之前设置的,因此它无法找到它。

是否有可能在与测试相同的程序集中确定数据源的下载?我知道我可以在执行测试程序集之前创建一个新的解决方案将其设置为构建任务,但是如果可能的话,我正在寻找一些整洁的东西。

编辑:我尝试使用选项创建一个新的控制台应用程序项目,该项目将作为构建任务运行并在执行测试之前下载 Excel 文件。

但是,似乎由于 Excel 文件未添加到解决方案中,因此该Datasource属性不会获取它。

0 投票
1 回答
3401 浏览

mstest - 如何在 specflow 测试中读取测试运行设置参数值?

我们在 Visual Studio 中使用 .runsettings 文件来运行 specflow 测试。我们在那里配置了某些参数。我需要在运行时访问这些参数值以在 specflow 测试方法中使用。我尝试通过 TestContext 访问这些,如下所示

我在运行时遇到了 testcontext 实例的异常,如下所示。“System.NullReferenceException:'对象引用未设置为对象的实例。'”

环境 Visual Studio Enterprise 2017 Specflow 2.2.1 单元测试提供程序:MsTest

此代码在 Microsoft 单元测试项目中使用时运行良好。如何从测试运行设置文件中读取值以进行 specflow 测试?还有其他方法可以访问运行设置参数吗?