问题标签 [test-runner]

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 投票
0 回答
256 浏览

unit-testing - 运行 T4 生成的 nUnit 测试 - 哪些测试运行器支持以及如何支持?

在我们的解决方案(EF4、WCF、MVC2)中,我们进行了大量的 T4 代码生成,远远超出了 EF4 的内容。事实上,我们甚至还生成了大量的服务。由于我们可以很容易地预测这种行为(否则我们无法生成代码),这意味着我们甚至可以预测这个生成的代码的许多测试。因此,我们还生成了大量的 nUnit 测试。

只要您能弄清楚生成的代码、服务、测试和所有模板,考虑这样做听起来很容易。这是最难的部分,我们现在已经掌握了。然而,既然我们正在扩大我们的团队并在等式中添加了一些额外的不符合项,我们现在开始了解到随之而来的一些问题。具体来说,哪些测试运行器可以很好地处理这些测试!

所以这给我们带来了我的问题: 是否有资源列出了哪些常见的测试运行程序支持这种情况?

我们所看到的是,当您运行特定测试或类的测试时,几乎所有测试都可以工作。在一个文件夹中运行所有测试时,这通常会导致运行 0 个测试。在项目或解决方案中运行所有测试时,这取决于测试运行器(ReSharper 在 TestDriven.net 运行它们时跳过它们)。

我们将不胜感激,因此我们不必自己做所有的发现工作来确定我们可以和不能使用哪些测试运行器,以及以何种方式。


最终,我怀疑问题在于测试运行程序在特定上下文(文件夹与项目)中发现测试的方法。似乎由于生成的 .cs 文件实际上作为 .tt 文件的子文件而不是文件夹存在,因此导致此发现算法出现问题。如果是这种情况,我怀疑我应该与我希望与之合作的产品团队联系,并请求他们支持这种情况。不幸的是,我怀疑这是真正的答案。:-(

0 投票
1 回答
1067 浏览

visual-studio-2010 - Resharper - NUnit - VS2010:内存不足异常

当我使用 resharper 中的测试运行程序运行我的 nunit 测试时,我得到了 OutOfMemory 异常。

在我看来,当一个测试套件运行时,它会在整个套件期间消耗内存,并且只有在整个测试集完成时才会释放内存。因此,即使我跨多个程序集运行一组测试,它们的集体内存占用也会被消耗,并且只会在最后释放。

有没有办法让测试运行器更频繁地释放内存?我们谈论的是 755 次测试,这似乎并不过分。我认为问题与使用 Rhino.mocks 以及在此测试集合中创建的所有模拟存储库分配有关。

注意:使用 Resharper 5.1、Rhino.Mocks、VS2010 和 NUnit 2.4.8

谢谢,约翰·尚克

0 投票
0 回答
443 浏览

nunit - 在自定义 NUnit 测试运行程序中传递数据

我正在尝试编写一个自定义的 NUnit 测试运行程序以集成到我们的应用程序中,并且我设法创建了一个 TestRunner 对象并运行了一些测试。接下来,我希望能够将一些数据传递到 TestRunner 以供测试使用。

目前,我创建了一个实现 IService 的类,并将一个实例添加到 NUnit ServiceManager 类中。设置方法、测试方法等,然后使用 ServiceManager.Services 定位对象,然后可以访问数据。

这似乎可行,但我想知道这是否是正确的方法。有没有更简单/更简单/更好的方法可以做到这一点,我应该注意什么问题?

亲切的问候

迈克尔

0 投票
1 回答
699 浏览

permissions - Playframework test-runner selenium 权限被拒绝 Location.href 和命令执行失败

此测试在本地工作,但是当从我们的 aws ci 实例上的 Play 测试运行程序运行时,我在 Firefox 中收到以下权限错误:HOST 获取属性 Location.href 的权限被拒绝,然后是命令执行错误。 在此处输入图像描述

在 Chrome 中,远程消息是不同的,但我感觉到相同的根本原因。对象 <> 没有方法“getCurrentWindow”。

在此处输入图像描述

是这个问题吗?http://code.google.com/p/selenium/issues/detail?id=703

0 投票
1 回答
314 浏览

visual-studio-2010 - 使用 ReSharper 5.x 和 VS2010 运行文件中的所有测试

有没有办法告诉 R# (5.x) 测试运行程序运行当前文件中的所有 MSpec 规范?

像Visual Studio 测试运行器的 ++Ctrl快捷方式之类的东西是我所追求的,无论是快捷方式还是上下文菜单命令。RCtrlT

0 投票
2 回答
1667 浏览

python - 我正在尝试在 python 中开发一个测试运行器

任何指针?建议?意见?

我在想这里是一个规范草案:

  1. 可以运行单独的测试方法
  2. 可以运行单个测试类
  3. 生成 XML
  4. 结果为 HTML
  5. 试运行
  6. 计算并显示每个测试用例所花费的时间,以及总时间。
  7. 测试用例超时
  8. TAP型式测试结果
  9. 日志级别
  10. 创建骨架测试用例
  11. 覆盖范围
  12. 能够在远程主机上运行(也许)
  13. 测试报告
  14. 命令行帮助 (--help)

现在,我从哪里开始?

0 投票
0 回答
244 浏览

.net - 使用 Microsoft 测试管理和测试运行程序处理鼠标事件

在使用带有 WPF 应用程序的 MS 测试管理器来玩弄测试自动化时,我注意到虽然记录该工具并不一定以鼠标单击和悬停的形式记录用户输入,而是通过记录依赖于正在执行的上下文的操作.

一些例子,为了清楚起见:
1.) 点击一个按钮将记录:“点击'button1'按钮”。
2.) 点击组合框会记录:“点击‘cboBox1’组合框”。
...随后是“在'cboBox1'组合框中选择'blah'”。
3.) 单击滑块将记录:“在‘slider1’滑块中设置位置‘2’”。

这些对于面包黄油的情况来说很好,但是如果 UI 依赖于诸如 MouseEnter/MouseHover 等事件,那么自动化似乎是不可能的。

是否可以自动化取决于例如鼠标位置的控制?或者这超出了测试运行者的能力范围?

0 投票
3 回答
1988 浏览

c# - 需要 C# .Net 的实时、自动、后台编译器和测试运行器

我用谷歌搜索并使用了测试脚本(powershell/spec/nunit/msbuild)。我正在寻找一个测试运行程序,它可以监控我的代码,并不断重建和重新运行我的所有测试以获得解决方案。目前我正在使用 Resharper,它对我的​​代码、resharper 测试运行器和测试驱动的 .Net 进行实时编译分析。

如果解决方案自动编译,运行我的测试并给出一个带有红/绿点的报告(甚至可能给我一个带有超链接的报告),这将是理想的。

编辑:我找到了我正在寻找的东西:我发现的工具完全符合我的要求:http://www.ncrunch.net/ 这不是广告。

此外,带有快捷方式 (cntrl+shift+q) 的 TestDriven .Net 运行良好。

0 投票
2 回答
125 浏览

eclipse - 如何在 eclipse 中的 junit4 测试运行程序中设置 -noloading 选项

为了从 eclipse 内部运行我的 apache 轴集成测试,我需要在 eclipse junit 测试运行器上设置 -noloading 选项。有谁知道我该怎么做?

我正在使用 Eclipse 版本:3.5.1

0 投票
2 回答
147 浏览

.net - 针对在内部维护单例状态的第三方库进行自动化测试

我的代码使用了一个第三方库,该库在其内部深处采用了单例模式。首次访问时,该库使用 Windows 环境变量来识别从中加载它的配置文件夹。

但是,我想在不同的单元测试集中针对不同的文件夹运行。理想情况下,我会为每个单元测试类或类似的东西指定配置文件夹。

第三方库是一个巨大的对象模型,我的代码只是在它们之上的一组扩展方法。我看不出模拟整个库的简单方法。

有什么方法可以为每个测试类创建一个新的 appdomain 吗?我知道负载测试具有在运行的测试程序集之间创建域的设置。就我而言,这将是很多程序集,我不太确定是否/如何在单元测试测试运行程序上设置此设置。

或者,我正在考虑购买 Typemock Isolator 或 JustMock,以便我可以使单例返回“null”,从而导致第 3 方库加载新库。我查看了反编译的代码,它似乎可以达到预期的结果。当然,那里可能隐藏着更多的“好东西”。

这些都是人为的方法。我真正想要的是在测试、测试类或测试程序集之间“刷新”完整的 appdomain。

当自动化测试需要切换配置文件夹时,我愿意牺牲速度。红绿重构周期可能不会包含多个配置文件夹。

关于如何实现这一目标的任何建议?

编辑 我刚刚发现不同的测试程序集会导致单例被擦除。因此,可以根据它们运行的​​配置来组织测试程序集,而不是根据测试所针对的依赖项或问题域来组织测试程序集。