问题标签 [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 投票
6 回答
2116 浏览

c# - 有没有办法使用已经在内存中的数据来驱动单元测试?

我知道我可以使用文件中的数据来驱动单元测试,例如 csv 或 xml 文件中的数据。

例如:

我想知道是否有一种方法可以代替使用文件,而是使用内存中已经存在的数据结构来驱动测试。

就像是:

0 投票
1 回答
560 浏览

visual-studio-2010 - 允许自己的 TestContext 类在 Visual Studio 单元测试项目中注入不同的连接字符串

在 MBUnit 中,我可以使用 Factory 和多个 getter 来注释我的 Test 类,返回一个 oracle/sql/mysql 连接字符串,该字符串可以通过测试类中的每个测试方法获得。

如何使用 Visual Studio 2010 的单元测试项目做到这一点?

例如,我不允许从 TestContext 继承并将该对象传递给我的 ClassInit 方法吗?

我不想用这样的属性对我的 TestMethods 进行硬编码注释:

我要这个:

0 投票
3 回答
5097 浏览

mstest - 在数据驱动测试中,如何从 TestContext 获取迭代/行号?

我已经使用 MsTest 框架实现了一个数据驱动的测试。

我想知道是否有办法从 TestContext 对象中获取当前测试代码的迭代/行号?

据我所知,与 DDT 相关的唯一属性是 DataRow,它可以从数据源获取当前迭代的信息,但我没有看到任何属性可以满足我的需要。

0 投票
1 回答
378 浏览

unit-testing - VS 2010 中使用存储过程的测试驱动单元测试

我有一个类(非(DAL)),它从数据库中获取数据并以所需的格式(以特定的类格式)将其提供给我。

现在我需要编写一个单元测试用例,但 TestContext Data 行总是返回单行。

我想用我的存储过程填充 TestContext 。请告诉我如何指定存储过程名称。提前致谢。

这是代码。

0 投票
1 回答
862 浏览

user-interface - 测试计算器的编码 UI

我在数据驱动模式下对一个简单的计算器应用程序进行了编码 UI 测试。添加断言后,我的测试结果没有通过,我认为这是由于“。” (Windows 计算器应用程序中已经存在的小数点)。

因此,我只想知道如何编写代码,以便接受所有类型的值,包括十进制和整数。我用于数据表的 CSV 文件是

这里第一行和第二行通过,但第三行失败。

这是我用于数据驱动测试的示例代码。

前两行通过,因为它们有小数。在第三行的预期结果中,我需要将值7设为7.只有这样它才会被计算器接受。那就是问题所在..

如果我将代码更改为以下内容:

然后第三行将通过,前两行将失败。错误将显示为expected <3.5 > actual<3.5. >expected <4.9 > actual<4.9. >这就是问题所在。

0 投票
1 回答
657 浏览

c# - Concatenating strings in DataSource for data-driven unit test

I am experiencing a strange problem with a data driven unit test. The data is stored in an xls-file. When I use the following connection string, everything works fine.

What I would like to do now is to extract the filename from the connection string into some constant, e.g.

But as soon as I start splitting up the connection string, I get errors in the unit test. Interestingly, even splitting the string into two parts does not work:

Instead, I get the following error message

The unit test adapter failed to connect to the data source or to read the data. For more information on troubleshooting this error, see "Troubleshooting Data-Driven Unit Tests" (http://go.microsoft.com/fwlink/?LinkId=62412) in the MSDN Library.

Error details: ERROR [42S02] [Microsoft][ODBC Excel Driver] The Microsoft Jet database engine could not find the object 'Tabelle1$'. Make sure the object exists and that you spell its name and the path name correctly.

Any idea where this difference in behavior can come from?

What is most confusing for me, is that even in ildasm I could not see any obvious differences between the two variants (i.e, seemingly the compiler already concatenates the two strings).

0 投票
0 回答
3121 浏览

excel - 使用 Selenium RC、Excel(数据驱动)和 SeleniumException

我现在正在从事一个自动化项目,该项目是在特定站点上创建一个帐户。有不同的规则需要检查。需要有一组数据缺少某些必填字段,用于在帐户上创建的电子邮件地址已在系统上使用,最后一组是可以创建帐户的位置。该过程的一般流程是:

  1. 运行 SeleniumRC
  2. 从 ExcelFile 获取数据

    Excel 数据由不同的集合组成。A 组:缺少必填项 B 组:电子邮件地址已被使用 B 组:完整/正确的数据

  3. 去网站。

  4. 输入所有数据。

    如果设置 A :

    如果设置 B :

    如果设置 C :

    提供屏幕截图盎司登录

  5. 返回第 2 步,直到在 Excel 文件中找到的所有行都被完全检查。

  6. 输出将被放置在另一个 Excel 文件中

我能够运行该过程,但是如果我为 Excel 文件中的每个条目使用一个标志。这确实违背了检查创建过程是否按预期工作的目的。我的 Selenium 命令是这样的:

当我运行上面的命令时,这确实有效。如果数据是 SET A 或 B,则发生错误。如果数据是 SET C,那么它将创建然后完成。

为了检查 Excel 文件中的所有数据或继续到总行结束,我放置了一个标志。

在命令中间,我放置了类似的东西

我尝试对 SeleniumException 使用 try 和 catch,但它仍然不起作用。您能给我提供有关如何执行此操作的任何想法吗?

0 投票
1 回答
2794 浏览

c# - 使用嵌套 xml 数据文件的数据驱动测试

我需要编写一个由包含数据集合的数据文件驱动的单元测试。出于显而易见的原因,csv 文件不合适,但 XML 建议自己。但是我似乎无法让它工作。

这是数据文件的片段(仅显示一个测试记录):

基本上,我希望能够从每个测试记录(例如“displayColumnNames”)中读取多个数据集合并迭代我的测试中的值。每个此类集合中的元素数量将因测试用例而异。

然而,直接的绊脚石是我的代码行:

这会引发测试时错误“列'displayColumnNames'不属于表testRecord。”。

我可以让它与简单的“平面”xml 数据文件一起很好地工作,但这对我没有帮助。我是在尝试 VS2008(即 MSTest)无法处理的事情,还是在做一些愚蠢的事情?

0 投票
3 回答
7996 浏览

visual-studio-2010 - Visual Studio 负载测试以数据驱动的方式模拟许多用户?

我正在尝试加载测试 Web 服务。

我有一个简单的方法,它需要 2 个参数发送到 Web 服务并返回响应,我从这个方法创建了一个单元测试。

因为我需要测试 各种不同的输入来有效地测试服务,所以我设置了一个包含约 1000 行的 CSV 作为单元测试的数据源。

我可以运行这个单元测试,它将遍历所有行,依次调用具有不同值的 Web 服务。

但是,这不是我需要的。我需要每一行对应不同线程上的不同用户,使用负载测试配置来包括思考时间,通过步进负载增加用户,测试混合配置等。

我可以通过从单元测试和硬编码值中删除我的数据源来实现这一点。但这是一个根本有缺陷的测试:为了真正测试 Web 服务,我需要每个用户发送不同的值并获得不同的结果.

...

那么,如何将数据源连接到负载测试并让该负载测试以不同的值启动每个用户的单元测试实例?

0 投票
0 回答
270 浏览

android - 使用 sqlite 进行 Android 测试中的数据驱动框架

我正在实现一个数据驱动的框架来测试 Android 应用程序。测试数据库是 sqlite。我能够成功访问数据库。我试图参数化我的测试用例,以便我可以将测试数据作为单独的测试运行。但是作为类扩展 ActivityInstrumentationTestcase2 不允许我们在其中添加参数化构造函数。

我想使用@RunWith( Parametrized.class) 类并想创建一个函数 ( @Parameters) 来提供测试数据。我还需要每个测试都作为独立测试运行。我怎样才能做到这一点?

谁能帮我吗?