我们是否应该在测试 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
- 连接到环境
- 你不必模拟任何东西
- 您的测试可能会变慢
- 您的测试可能会因为环境问题(部署失败、服务器宕机等)而中断
我是 Java 开发人员。我们想在我们的项目中使用黄瓜测试。我们主要致力于创建 APIs。我擅长单元测试和研究黄瓜。 我正在考虑测试持久性方法 - 作为初学者的 CRUD 操作。我的问题是这个测试中的场景是什么。 我还应该通过在功能文件中创建表来模拟数据库。我是否应该将 mockito 与 Cucumber 一起使用来模拟调用连接到数据库和服务器的其他一些服务。 这些场景中的黄瓜测试应该是什么?在我们的 Java API 项目中创建使用黄瓜的框架的最佳方法是什么。
此外,如果不使用数据库,如何填充模型
IMO Gherkin(您编写的语言 Cucumber 的特点),非常适合编写 业务可读、简单 场景。
为了快速回答,我会说 Cucumber 不适合测试方法,如果它是你想要做的。
按照文件命名约定可以看出,你写了*.feature
个文件,我认为这些文件一定只包含与功能相关的描述。
但是,如果您确实有 功能 需要测试,则必须选择如何测试它们
- 断开连接,您的CI可以运行快速连接
- 你将不得不模拟所有在构建生命周期中无法启动的东西
- 它们是使用 Docker 启动几乎所有内容的解决方案,例如 Testcontainers
- 连接到环境
- 你不必模拟任何东西
- 您的测试可能会变慢
- 您的测试可能会因为环境问题(部署失败、服务器宕机等)而中断