cucumber 与 jest 与Vue与React的四角恋(瞎编乱造未完成...)
程序员文章站
2022-04-25 22:10:05
...
因为业务需求,接触到cucumber测试
cucumber
cucumber是由BDD(行为驱动开发)测试框架,使用给定的关键字描述测试.
一些资料链接
cucumber的好处
测试描述部分与实际代码测试部分是分离的,它能更直观浅显的描述测试的过程/条件,即使不懂代码也能知道它大概在做什么
一些概念
关键字
- Given
- When
- Then
- And
- But
- Rule
在测试中使用cucumber
官方提供@cucumber/cucumber npm库在js中使用cucumber
操作流程
装库(酷)当然是首要的
后续操作: package.json scripts 加上
"test": "cucumber-js"
一个完整的测试,有两种文件组成
- .feature文件: 用于测试描述
- .js文件: 用于对.feature文件描述的匹配并实现所描述测试逻辑
未调研cucumber-js 能否实现.ts文件的测试,实际上我使用的是jest-cucumber,jest可以通过合适的transform实现各类文件的测试
欣赏一下.feature文件的花容月貌,嗯,确实很清奇,和寻常测试文件长的不一样,都是大白话
Feature: Is it Friday yet?
Everybody wants to know when it's Friday
Scenario: Sunday isn't Friday
Given today is Sunday
When I ask whether it's Friday yet
Then I should be told "Nope"
在Vue或者React中使用Cucumber
相关库
React
cucumber-react
能让你在react中使用cucumber,该库内置了部分常用的测试语句匹配
Vue
暂时未在项目中使用,与react类似,只要测试库将vue文件解析成普通的js文件,测试流程都是相同的.
jest-cucumber
jest作为测试流行库,有活跃的社区支持,使得我们可以用jest测试各类框架/库编写的代码
一些注意事项
- .feature文件的语句描述数量在实际测试文件中数量/顺序需要保持一致