我们应该在测试Java代码时模拟黄瓜测试吗?到什么程度才应使用黄瓜?

时间:2018-09-12 07:27:57

标签: java unit-testing testing junit cucumber

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

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

1 个答案:

答案 0 :(得分:1)

IMO 小黄瓜(您编写黄瓜功能所使用的语言),非常适合编写业务可读简单场景。

要快速回答,我想说,如果您要这样做,那么Cucumber不太适合测试方法。

从文件命名约定可以看出,您编写了*.feature个文件,我认为这些文件必须仅包含与功能相关的描述。

但是,如果您要测试 功能 ,则必须选择测试方式

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