我们是否应该在测试 java 代码时模拟黄瓜测试。我们应该使用黄瓜到什么程度?

Should we mock in cucumber testing while testing java code. Till what extent we should use cucumber?

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

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

IMO Gherkin(您编写的语言 Cucumber 的特点),非常适合编写 业务可读简单 场景。

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

按照文件命名约定可以看出,你写了*.feature个文件,我认为这些文件一定只包含与功能相关的描述。

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

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