.net - 将 MbUnit 与 Delphi Prism 结合使用

标签 .net delphi unit-testing gallio delphi-prism

我在Delphi Prism中创建了以下简单的测试用例。当我使用 Gallio Icarus 运行测试用例时,它返回一个任何可用的测试框架都不支持此测试

我只能想到导致这种情况发生的两个原因

  • 我遗漏了一些(非常)明显的东西。一个设置,某处缺少初始化,...
  • 无法使用 MbUnit -GallioDelphi Prism 组合.

我确实希望这是因为我遗漏了一些明显的东西。如果不是,其他人使用 Delphi Prism 作为测试框架使用什么? ?

namespace MailExtensionTests;

interface

uses
  MbUnit.Framework;

type
  Class1 = public class
  public
    [Test]
    procedure TestSomething;
  end;

implementation

procedure Class1.TestSomething;
begin
  Assert.IsTrue(True);
end;

end.

最佳答案

我不太熟悉 .Net 的情况,至少我已经学到了这么多。

我现在知道我已经放弃了关于我以前能够回答这个问题的版本的很少的信息。

 - Windows XP 5.1.2600.
 - VMWware 6.5.4 with 2Gb of memory.
 - Delphi Prism running in Visual studio 2010.
 - .Net Framework 4
 - Gallio 3.1
 - MbUnit 3.1

现在我已经能够真正解决您所产生的问题,这两个解决方案对我有用。

第一个解决方案

有一件事我忽略了我正在编译的 .Net 框架。

我们的目标应该始终是追求最高、最快、最前沿的东西,对吗?因此,我毫不犹豫地选择.Net Framework 4作为我的 要编译的目标框架。 我的意思是,最高的、最好的、最卑鄙的……这可能有什么问题。

首先,Gallio 3.1 版不支持 .Net Framework 4。我只需看一下 home page of MbUnit弄清楚这一点。但无论如何谁会读那些东西,对吧?当然,不是像我这样的铁杆开发人员。您永远不知道谁可能会监视您,发现您正在阅读文档,您的声誉就会付诸东流。

在我终于与自己和解之后,除了实际尝试阅读一些文档之外,没有其他办法解决这个问题,我能够编译一个在 Gallio 3.1 中运行的版本。万岁,任务完成了……至少我是这么想的。

运行那个非常简单的测试用例每次都需要大约半分钟。这肯定不对吧?!幸运的是,这个问题已经被提及herehere是什么让我们来到

最终解决方案

正如 Gallio 速度慢 帖子中提到的,解决这些问题的一种方法是安装最新的非官方版本的 Gallio。谈论前沿,就是这样。我感觉我的心脏在胸腔里狂跳,肾上腺素激增,我花了很大力气才不把它喊出来。

一个link to all latest versions只需下载一次、安装一次并重新附加一些引用资料就可以了。我终于不仅能够在 .Net Framework 3.5 中运行我的测试用例,而且还能在 .Net Framework 4.0 中运行。

哦,是的,吃掉那个宝贝。现在谁是那个男人...谁是那个男人(放松利文,呼吸...呼吸...)

最终想法

至少可以说,这是一次有趣的旅程。我恢复了一些失去的谦逊。
那些到现在还没有打瞌睡的人,我对你们表示敬意。

关于.net - 将 MbUnit 与 Delphi Prism 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3153712/

相关文章:

windows - 在 MAC 上运行一个 windows APP

delphi - delphi7中使用PSafeArray调用COM时出错

.net - NSubstitute 是否支持 ref 参数?

unit-testing - 如何在 AVA 测试运行程序中对测试进行分组?

c# - 知道如何获取海报或宽幅纸的背景色吗?

c# - 如何处理 Parallel.ForEach 中的异常?

c# - 在异步环境中共享资源池的有效方法是什么?

delphi - 图像 "fade"输入/输出(不透明度)

c# - 多态设计题

unit-testing - 即使我的代码覆盖率为 100%,我的代码仍可能包含哪些类型的错误?