问题标签 [gallio]

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

unit-testing - 有没有办法使用 Gallio 运行 MS 测试?

我查看了与此类似的其他问题,它们似乎都是 Visual Studio 2010 的 Pre-RTM(或者它们没有真正的答案)。

我已经下载了最新版本的 Gallio,我正在尝试使用它运行我的 MS 测试项目。

我在我的 MS 测试项目中将 Gallio 添加到我的参考文献中,然后进行了完整构建,然后在 Gallio 中打开了编译后的 dll。

然后我尝试运行我的测试,但它们没有运行。我没有收到任何错误,只是它们失败了。

它说218 tests - 0 passed - 1 failed - 0 inconclusive - 0 skipped

我检查了运行时日志,它说它需要禁用的 Gallio.VisualStudio.Shell。我检查了插件,这就是那个说的:

Visual Studio Integration Shell
提供了一个框架,用于在 Visual Studio 中托管 Gallio 插件。
Disabled:不满足插件启用条件。请注意,这是必须托管在第三方应用程序中才能工作的插件的预期行为。启用条件:'${process:DEVENV.EXE} or ${process:VSTESTHOST.EXE} or ${process:QTAGENT.EXE} or ${process:QTAGENT32.EXE} or ${process:QTDCAGENT.EXE} or $ {process:QTDCAGENT32.EXE} 或 ${process:MSTEST.EXE}'。

我什至没有在 Visual Studio 中运行,但它会根据需要看到它。我正在运行 devenv.exe(Gallio 和 Devenv.exe 都在我的帐户下运行)。

关于如何使它工作的任何想法?

0 投票
1 回答
934 浏览

mbunit - 无法使用 Gallio Icarus 3.2 Build 517 和 VS 2010 将调试器附加到主机

为了使用 MBUnit,我安装了 Gallio 捆绑包版本 3.2 Build 517。当我尝试通过 Icarus 测试运行器运行它们时,我的测试运行良好,但是当我点击测试运行器上的调试按钮时,它告诉我它无法连接到主机。如果我添加一些断点并将 Icarus 进程附加到 Visual Studio,断点不会命中,它告诉我没有加载任何符号。

0 投票
2 回答
131 浏览

unit-testing - 如何让 Gallio 在重新加载 Tests Explorer TreeView 时记住我想要运行的测试类别?

如果我在 Gallio 中有一个已加载的程序集,并且我选择了几个测试并单击“开始”,它将运行这些测试并且仍然记得选择了哪些测试。

另一方面,如果我点击“重新加载”,它会忘记我选择了哪些测试(使该功能有点没用)。有什么办法可以防止这种行为?我在几个类别中定义了我的测试,并且我希望在 Visual Studio 中编译我的项目时始终自动运行“单元测试”类别测试。

谢谢

0 投票
2 回答
1556 浏览

c# - 是否有 MBUnit 属性可以按照定义的顺序运行 Row 测试

我试过用谷歌搜索,但一无所获。基本上,我想按照我定义的顺序运行每一行。例如,如果我有这个:

我想确保测试 A 在测试 B 之前执行,并且测试 B 在测试 C 之前执行。

0 投票
1 回答
202 浏览

gallio - 扩展至 icarus

是否可以对 icarus 进行扩展,以监听来自测试运行的事件并将结果处理到 ie。咆哮。我一直在搜索互联网,但找不到这样做的方法。

谢谢

0 投票
1 回答
372 浏览

c# - 如何在 MbUnit 中使用相同的数据重新运行相同的测试

说,我有以下测试:

在某些时候,在我的常规构建过程中,它失败了。我收到一封电子邮件通知并开始调查。

现在,当我在 Visual Studio 中打开测试并单击“运行测试”时,它通过了。我再做一次,它又过去了。然后再次。然后再次。显然,失败与特定的随机数序列有关。

所以问题是:我如何以那个确切的顺序重新运行这个测试?
(如果我有完整的 Gallio 报告)

 
 
更新:(
在评论说这是一个坏主意之后)

首先,我实际上并不是在问这是否是个好主意。问题是不同的。

其次,当被测试的系统足够复杂,并且输入数据空间是多个独立维度时,将空间正确地分解为等价区域在脑力和时间上都存在重大挑战,如果组件更小,这是不值得的的系统已经过自己的测试。同时,如果我可以到处戳系统,为什么不这样做呢?

第三,我其实不是这个领域的新手。我总是将此技术与其他测试框架(例如 csUnit 和 NUnit)一起使用,并且证明它在捕获细微错误方面非常成功。当时还没有生成数据这样的概念,所以我们使用了自己定制的拐杖,形式是System.Random带有预定种子的。该种子是作为夹具初始化的一部分生成的(通常基于当前时间)并仔细写入日志。这样,当测试失败时,我可以从日志中获取种子,将其插入测试夹具中,并获得完全相同的测试数据集,从而调试完全相同的失败。

第四,如果这是一个坏主意,为什么RandomNumbers工厂首先存在?

0 投票
1 回答
221 浏览

visual-studio-2008 - Gallio 测试结果显示在 Visual Studio 的“输出”选项卡中?

有谁知道如何在 Visual Studio 的“输出”选项卡中显示 Gallio 测试运行的测试结果(我使用的是 MbUnit,fwiw)?现在它正在打开一个新窗口并在那里显示结果。

谢谢伙计们,-史蒂夫

0 投票
1 回答
134 浏览

.net - Gallio:提取所需二进制文件的简单方法?

我将项目所需的所有 Gallio 二进制文件存储在 SVN 存储库中。我已经使用 Gallio 好几年了,它是一个很棒的库。

Gallio 唯一真正(和独特)的问题是它非常臃肿,包含数十个程序集和其他文件。在最新版本 (3.2.603) 中,我计算了1041 个文件,而这只是bin目录。例如,该软件包包括 AutoCAD 插件,我认为 99.5% 的人不需要,我认为应该是其他附加软件包的一部分,而不是主要软件包。

虽然在过去我设法手动提取我工作所需的东西并将其添加到版本控制中,但它成为一个真正的 PITA,以便以后将其升级到更新的版本——子目录结构发生变化,文件发生变化,而你永远不会真正知道哪些文件是必需品,哪些文件可以安全删除。

所以基本上,我正在寻找一种方法来简化它。假设我需要 Gallio 的以下功能:

  1. 基本测试框架。
  2. Gallio.Echo 作为命令行运行器。GUI runner 并不是真的必须包含在 SVN 中。
  3. VisualStudio 集成(如果有)
  4. TestDriven.NET 集成(如果有)。

是否有可靠的方法仅提取涵盖上述内容所需的文件?

0 投票
3 回答
4058 浏览

unit-testing - Gallio:无法运行测试,因为找不到 MSTest 可执行文件

我在没有 Visual Studio 的机器上安装了最新的 Gallio 版本 3.2.603,这将是我们的 CI 服务器。NAnt 脚本成功构建了 .Net 4.0 项目,但是当它尝试运行 MSTest 测试时,会出现以下错误。

[gallio] Gallio NAnt 任务 - 版本 3.2 构建 601

[gallio] [错误] 程序集 XXXXXXXXXXXXXXX

[gallio] 无法运行测试,因为找不到 MSTest 可执行文件

我是否错误地期望 Gallio 能够在没有安装 MSTest 可执行文件或任何其他 Visual Studio 组件的情况下运行 MSTest 测试?

0 投票
1 回答
502 浏览

nant - 在 NAnt 内的 Gallio 上运行的 Mbunit v2.4:“测试程序集设置失败”

亲爱的,我正在尝试运行我在 Gallio 下使用 MbUnit v2 开发的测试。所有这些都来自通过 TeamCity 启动的 NAnt 脚本(实际上是 TeamCity 的 CodeBetter 安装)。

测试在名为 Icarus 的 GUI Gallio Runner 内的本地机器上运行,但不是在运行器处于本地模式时,除非我指定“IsolatedAppDomain”或“IsolatedProcess”。

它还从 NAnt 内部本地运行。这是我使用的 nant 任务定义:

但是,当我检查所有内容并从 TeamCity 运行它时,该过程失败并出现以下错误:

我尝试将运行器类型更改为所有 3 个可用运行器(Local、IsolatedProcess、IsolatedAppDomain),但它没有运行。

Local:好像可以加载测试,但是没有找到测试,所以运行流畅(但没有执行测试),这也是我在本地机器上运行在Icarus时的默认行为

隔离进程,隔离应用域:我收到上面提到的错误。

鉴于我无法连接到机器并尝试手动运行测试,我真的不知道如何调试这个问题。知道可能是什么问题吗?

谢谢

西蒙娜