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

何时使用mock,何时与spock一起使用stub?

太叔正文
2023-03-14

我想了解更多这句话发现Grails留档:

如果测试涉及证明测试对象以特定方式与合作者交互,则使用模拟。如果协作者以某种方式的行为暴露了测试主题中的特定行为,那么该行为的结果就是您正在测试的,请使用存根

共有1个答案

景嘉实
2023-03-14

如果要测试某个方法将被调用多少次,请使用Mock:

2 * yourService.someMethod(*_) // test that someMethod will be called 2 times

如果没有-使用存根

 类似资料:
  • 我读到过,当使用@Mock时,它应该与@RunBy(MockitoJUnitRunner.class)一起使用,而对于@MockBean,它与@Runwith(SpringRunner.class)一起使用。 然而,对于@Mock,我发现MockitoJunitRunner和SpringRunner都可以互换使用。我很困惑为什么SpringRunner也在这种情况下工作?

  • 我试图将Hibernate与我的spring应用程序上下文联系起来。我正在成功地连接SessionFactory,但当我尝试调用getCurrentSession时,我看到以下错误: 我正在配置数据源会话工厂和事务管理器。我还指定了事务处理将是注释驱动的 下面是我的上下文XML: null 下面是我发现错误的类: 当这被称为sessionFactory时不是null,而是带有上述错误的错误。如果我

  • 我有一个带有Spring(5.7.2)Web/Security的REST API项目。 我只有一个表,它包含一个id和一个名称。 当我删除光盘时,我的DiscsService会 当我需要插入或更新时,我会: 我了解到,当您希望在同一事务中使用值(提交之前)时,将使用,并且将同步并清空SQL缓存。 在我的例子中,我看到我在数据库中插入/更新或删除了值。 我应该使用flush()(我认为不应该),但可

  • 在处理restasured时,我遇到了序列化和反序列化(POJO类)的概念来读取和验证响应。我阅读了一些教程,并根据我的回答创建了POJO类。 但是,当我在测试中使用POJO类引用时,我无法将then()块用于不同的断言。下面的细节可能会更清楚一些: 不带POJO的TestMethod: POJO的试验方法: 测试等级: 在使用POJO类时,我也希望保持然后块的断言不变。当我在as(ListUse

  • 问题内容: 我正在设置信用卡处理程序,需要对CURL使用替代方法。当我使用测试服务器(未调用SSL URL)时,以下代码运行良好,但是现在当我在使用HTTPS的工作服务器上对其进行测试时,它失败,并显示错误消息“无法打开流”。 问题答案: 请尝试以下脚本,以查看您的php脚本是否有https包装器。 输出应该是这样的

  • 有一个只有exports子句的src/main/java/module-info.java。 有一个src/test/java/example/sometest/addertest,它具有: 到目前为止还不错。现在我使用@ExtendWith注释。 哪里 现在mvn测试给出错误 [警告].../AdderTest.java:[9,2]未导出模块中的类org.junit.jupiter.api.ex