当前位置: 首页 > 知识库问答 >
问题:

Spock block mocks和在哪里布线

傅阿苏
2023-03-14

我见过一些Spock测试,其中mock被连接起来&在givid块中配置(这对我来说是最有意义的地方),还有一些情况,其中让测试通过的唯一方法要求我在then块中连接/配置mocks,这对我来说简直太傻了。后者的一个例子是我前段时间问的一个问题。

所以我问:是什么决定了在哪里实际连接/配置一个模拟,是在给定中还是在然后中?我真的希望答案不只是“一直玩到它起作用”,因为这对我的机器人大脑来说太不确定了。

共有1个答案

谭泉
2023-03-14

模拟和存根应该在setup/givid块中实例化,甚至在setup()方法中实例化,如果您要在多个测试中使用它们并希望减少样板。

在我看来,模拟和存根行为应该定义在范围最窄的地方,这是有意义的。那么通常是最有意义的,但是定义您并不真正关心仔细检查的一般行为可以放在setup/给定的块中,甚至可以放在setup()方法中。

 类似资料:
  • 问题内容: 在和,只有抽象方法和分别。 有谁知道实现它们的实际代码在哪里? 我想知道如何与TCP堆栈通信。 此外,还有更多抽象功能,例如。他们的代码在哪里? 问题答案: 具有已实现该方法的实现。它使用扩展了实现方法的委托 大多数IDE可以跟踪所有类,对象和方法,并下载源文件。Fx。可以为您做到这一点。

  • 我正在制作一个基于Java EE的产品,其中我使用了GlassFish 3和EJB 3.1。 我的应用程序有会话bean,一个调度程序,并且使用web服务。我最近了解了Apache TomEE,它支持上下文和依赖注入(CDI)。GlassFish容器也支持CDI。 如果我不需要CDI也不提供的任何特性,我可以替换会话bean吗?如果那样的话,我能得到什么好处呢?

  • 问题内容: 我有PyCharm,正在四处寻找git.exe,以使用我的存储库进行设置。 git.exe的路径是什么? 问题答案: 如果您在Windows上使用GitHub,则git.exe可能不在您的PATH中,但是您可以在以下位置找到它:C:\Users\ \AppData\Local\GitHub\PortableGit_ \bin\git.exe 我的情况就是这样,在Windows 7 +

  • 问题内容: 跑步, 安装后,我看到它说 位置在哪里?我检查了 无处可寻。 问题答案: 在Windows上,我可以在找到它。您可以在这里找到Java目录结构

  • 问题内容: 我想在系统上找到该定义,因此对于缺少该定义的系统,我可以实现它。在这里和其他站点上,我已经看到了各种定义,但是想在系统上检查确定的定义。 轻微的问题,因为我找不到_Bool的定义位置,甚至找不到stdbool.h 而对于上和不要么找到它。 那在哪呢 问题答案: 是内置类型,因此不要期望在头文件(甚至系统头文件)中找到它的定义。 话虽如此,从您要搜索的路径猜测您的系统,您是否进入过? 我

  • 问题内容: 我有以下两个表: 我想找到最专业的讲师。当我尝试此操作时,它不起作用: 但是当我尝试这样做时,它会起作用: 是什么原因?谢谢。 问题答案: 子句在 单行 上引入条件; 子句引入了 聚合 条件,即选择结果,其中已从 多个 行生成单个结果,例如计数,平均值,最小值,最大值或总和。您的查询需要第二种条件(即聚合条件),因此可以正常工作。 根据经验,请在之前和之后使用。这是一个比较原始的规则,