【问题标题】:Should we mock in cucumber testing while testing java code. Till what extent we should use cucumber?我们是否应该在测试 java 代码时模拟黄瓜测试。我们应该在多大程度上使用黄瓜?
【发布时间】:2018-09-12 07:27:57
【问题描述】:

我是一名 Java 开发人员。我们想在我们的项目中使用黄瓜测试。我们主要致力于创建 API。我擅长单元测试和研究黄瓜。 我正在考虑测试持久性方法 - 作为初学者的 CRUD 操作。我的问题是,这次测试中的场景可能是什么。 我还应该通过在功能文件中创建表来模拟数据库。我是否应该将 mockito 与 Cucumber 一起使用来模拟对连接到数据库和服务器的其他一些服务的调用。 这些场景中的黄瓜测试应该是什么,以及在我们的 Java API 项目中创建使用黄瓜的框架的最佳方法是什么。

另外,如果不使用数据库,如何填充模型

【问题讨论】:

  • 当您询问有关什么和如何测试的问题时,我认为在软件工程堆栈交换上可能会更好。我认为您应该先弄清楚您的确切问题是什么,然后再决定使用什么工具来解决它。

标签: java unit-testing testing junit cucumber


【解决方案1】:

IMO Gherkin(您编写 Cucumber 功能的语言),适合编写商业可读简单 场景。

为了快速回答,我想说 Cucumber 不适合测试方法,如果它是你想做的。

正如您在文件命名约定中看到的那样,您编写*.feature 文件,我认为这些文件必须只包含与功能相关的描述。

但是,如果您确实有功能要测试,您必须选择如何测试它们

  • 已断开连接,可以由您的 CI 快速运行
    • 您将不得不模拟在构建生命周期中无法启动的所有内容
    • 它们是使用 Docker 启动几乎任何东西的解决方案,例如 Testcontainers
  • 连接到环境
    • 您不必模拟任何东西
    • 您的测试可能会变慢
    • 您的测试可能会因环境而中断(部署失败、服务器停机等)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-31
    • 2016-10-14
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多