问题标签 [data-driven-tests]

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 回答
1609 浏览

visual-studio-2012 - MSTest 数据驱动测试集 DisplayName for Rows from DataSource

如何在数据驱动测试中设置数据行的 DisplayName,其中数据源是 XML,提供程序是 Microsoft.VisualStudio.TestTools.DataSource.XML。

XML:

应用配置:

输出:

在此处输入图像描述

我想显示环境名称而不是“数据行 0”。

0 投票
1 回答
3908 浏览

python - Selenium - 在循环中使用 Python HTMLTestRunner/TextTestRunner 时的结果

如果在任何时候都不清楚(或者如果白话不太正确),我很抱歉,但我会尽力而为!

第一次在论坛上发帖;)...

任何知情人士的帮助将不胜感激。

我正在使用 Selenium 和 Python 绑定来跨多个平台 (OS) 和浏览器对基于 Web 的应用程序进行自动化测试。

作为其中的一部分,我使用 HTMLTestRunner 模块在每次测试运行结束时生成报告。我的问题就在这里。

我的代码当前读取的结果是,对于相应列表中的每个平台/浏览器组合,HTMLTestRunner 模块被初始化并执行单个测试用例......依次生成报告并关闭。

由于 HTMLTestRunner 被设计为初始化,然后执行所有测试用例,然后使用所有测试结果创建单个报告,因此生成的报告会覆盖它自身(或导致格式问题),这会产生问题。

顺便说一句,如果我使用 'unittest.TextTestRunner()' 而不是 HTMLTestRunner ,那么本质上会发生同样的事情,只是结果显然显示在 shell 中。跑了 1 次测试...好吧...跑了 1 次测试...好吧...等

我尝试使用'unittest.main(exit=False) 行,它实际上似乎适用于shell 中显示的结果,例如,所有测试都在提供任何报告之前运行。

不幸的是,我还没有找到一种在 HTMLTestRunner 中使用此功能的方法。

(我怀疑有人会回来使用元类来动态生成测试,而不是像这样循环执行代码行。虽然我研究了这个,但我发现自己完全不知道如何实现这个和一个许多开发人员类型告诉我,这是我们要避开的事情(不想在这里开始辩论!)。)

无论如何,我正在使用的代码的简化示例如下:

我只想声明,虽然上述代码的某些元素可能是不必要的,例如全局声明,但实际上它们是必需的!

任何帮助将不胜感激!非常感谢...

0 投票
0 回答
1222 浏览

c# - 数据驱动单元测试的优缺点(Excel数据源)

从最近几天开始,我一直在从事数据驱动的单元测试。我使用 Excel 电子表格作为数据源。虽然它减少了我的测试方法中的冗余代码(而不是在测试方法中写入所有测试数据并每次都调用相同的函数)但另一方面我认为它使我的单元测试变得复杂(使用配置设置,从 Excel 解析数据,意外的异常......等等)。任何人都可以阐明每种方法的优缺点。为了更好地理解,我在下面写了一个有和没有数据源的示例测试方法:

有数据源

无数据源

请注意,上述代码只是一个示例。此外,我认为数据驱动单元测试的另一种替代方法是创建一个通用函数来调用 dll 并将测试数据传递给该函数(从而减少冗余)。

0 投票
2 回答
5122 浏览

c# - 如何使用多个数据源运行单元测试?

我找不到在使用不同 DataSource同一测试类中运行不同单元测试的方法。

下面是一个测试类的例子:

如果我使用来自 xml 的数据运行单元测试,那么一切都运行良好。

如果我使用来自 csv 的数据运行单元测试,那么一切都运行良好。

如果我在测试类中运行所有测试,则第二个单元测试运行以错误结束。

有没有办法确保在每次单元测试之前重置 DataSource?

我查看了 TestCleanup 和 TestInitialize 但没有找到任何可以这样做的...

0 投票
1 回答
88 浏览

excel - 使用excel获取具有公式的单元格的内容

我想在 Excel 中获取一个单元格的内容,其值是使用公式 (=D6*0.1236) 计算的,我正在使用 HssfWorkbook 并使用 getCell() 方法来获取内容。但我得到 D6 * 0.1236。我想得到使用这个公式而不是公式计算的值。请为此提出一些解决方案。

下面是获取内容的代码

0 投票
1 回答
4840 浏览

excel - Excel 电子表格中的数据驱动单元测试

如何在 VS2012 中设置数据驱动的单元测试方法,从 Excel .xlsx 电子表格中读取数据?

我试过用谷歌搜索解决方案,但结果要么是指旧版本的 Visual Studio,要么不是 .xlsx 文件。

到目前为止,我有一个测试类、测试方法和数据源文件 TestData.xlsx,它在构建时被复制到输出目录。

0 投票
1 回答
777 浏览

c# - 使用复杂序列化对象在 Visual Studio 上进行数据驱动测试

我想知道我想做的事情是否可行。我有一个由 xml 驱动的单元测试,如下所示:

MyFile.xml 看起来像这样:

现在的问题是访问TestContext.DataRow["Name"]工作正常,但我无法访问TestContext.DataRow["MyComplexRow"],我得到 aColumn 'MyComplexRow' does not belong to table TestMember.因为它不是“标量”,而是有很多维度......

那么,有什么办法可以欺骗 Visual Studio 让他知道他正在处理现有类的序列化实例?就像,也许扩展一个现有的类。

我知道我可以将它全部包装在 CDATA 中,然后对其进行反序列化,但是,它并不那么优雅。

谢谢 !

0 投票
0 回答
772 浏览

c# - MSTest 数据驱动测试可以并行运行吗?

几年前有人问过 VisualStudio2010 的类似问题,但从未在这里回答:

如何在 Visual Studio 2010 中并行化数据驱动的单元测试?

我希望这个功能现在可能存在于 VS2012 中。

我的情况和上面一样,我有一个数据驱动的登录测试,它为多个客户端运行相同的测试。

我通过触发 ClassInitialize 和 TestInitialize 中的线程,并在清理之前等待所有测试完成,尝试了不同的线程解决方案。我尝试过的任何东西都不适用于这些数据驱动的测试。

我担心尝试这样做与 MSTest 如何与 dd 测试一起使用从根本上是错误的。基本上我发现下一个数据集在 TestCleanup 完成之前不会运行,并且在没有完成测试并记录测试结果的情况下 TestCleanup 不会完成。所以基本上,在记录之前的测试结果之前,不能开始下一个测试。真的吗?或者有没有办法使用 MSTest 框架来并行化这些?

谢谢!

0 投票
3 回答
24517 浏览

c# - 如何使用从 .csv 文件中读取的数据多次运行测试(数据驱动)

我正在尝试为我们的一个 Web 应用程序自动化一些测试,我需要知道如何让我的 Coded UI 项目从 CSV 文件中读取数据。假设我想测试登录屏幕。我的 CSV 文件将包含一些用户名和密码。我希望我的 Coded UI 测试能够读取这些登录详细信息并遍历它们以对每组数据运行测试。

0 投票
1 回答
604 浏览

tfs - 通过 API 从 TFS 检索数据驱动测试的结果

我有一些数据驱动的单元测试,基本上按照这里的描述完成:

http://msdn.microsoft.com/en-us/library/ms182527.aspx

对于给定的测试运行,我可以通过以下方式获得结果:

在每个 ITestCaseResult 我可以通过以下方式获取错误消息:

太好了,但是当有数据驱动测试的结果时,我不知道如何获得迭代结果。它们出现在生成的 .trx 文件中,但不在 ITestCaseResult 中的任何位置。

在此处输入图像描述

关于如何通过 API 获取它们的任何想法?