Cucumber测试框架应用介绍--黄瓜框架

最近陪着女朋友研究了下有关测试的内容,主要是研究了一下Cucumber这个测试框架,说是可以通过DSL来定义基于场景的验收级别测试,当然单元测试等测试也可以实现。由于中文文档很多都没有细致的对Cucumber进行讲解,我就以一篇国外博客中的例子来讲一下Cucumber的基本用法吧!

环境 Intellij IDEA + Spring

https://github.com/Steve-Fenton/JavaKatas/tree/master/NumberGames 这是项目的Github地址,想试一下的朋友都可以clone下来自己跑跑,用maven导入就好了。

https://www.stevefenton.co.uk/2015/01/getting-started-with-bdd-intellij/   有关环境设置的可以参考原文,链接附上。


Cucumber的细节介绍我们就不讲了,如果你还不知道Cucumber可是用来干嘛的话,可以搜一搜别人对它的基本介绍,我们这里只介绍如何应用黄瓜。总的来讲,它是一套定义DSL来验证测试结果的测试框架,用户可以编写自己的DSL,在代码中对该DSL进行解析,程序读取到关键信息后,运行结果并验证。

在这套代码中,Cucumber起到了进行单元测试的作用。Java代码中声明了一个Game类,并可以做简单的数字游戏,如FizzBuzz等(规则:输

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cucumber 是一个行为驱动开发(BDD)的自动化测试框架,它支持多种编程语言,包括 Python。在 Python 中,可以使用 behave 库来实现 Cucumber 测试框架。 behave 库提供了类似 Cucumber 的语法和结构来编写测试用例。它使用 Gherkin 语言编写特定的测试用例,并将其转换为 Python 代码。Gherkin 语言是一种简单的自然语言,用于描述测试场景和步骤。 以下是一个简单的例子: ``` Feature: Addition In order to avoid silly mistakes As a math idiot I want to be told the sum of two numbers Scenario: Add two numbers Given I have entered 50 into the calculator And I have entered 70 into the calculator When I press add Then the result should be 120 on the screen ``` 上面的例子描述了一个加法测试场景,包括输入两个数字并计算它们的和。接下来,我们可以将这个测试场景转换为 Python 代码: ``` from behave import given, when, then @given('I have entered {num1:d} into the calculator') def step_impl(context, num1): context.num1 = num1 @given('I have entered {num2:d} into the calculator') def step_impl(context, num2): context.num2 = num2 @when('I press add') def step_impl(context): context.result = context.num1 + context.num2 @then('the result should be {result:d} on the screen') def step_impl(context, result): assert context.result == result ``` 上面的代码使用了 behave 库提供的装饰器来定义测试步骤,这些步骤与 Gherkin 语法中的步骤相对应。当运行测试用例时,behave 库将按照步骤的顺序执行这些函数,并检查它们是否通过了断言。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值