This small story is about a tool I discovered recently that save me so much time. There may be different reasons why you have malformed Gherkin files:

  • Lack of tool that helps writing Gherkin
  • Auto-generated files

So, I realize that I spent too much time on this task and I discovered the following tool that helps me.

Ghokin

Ghokin format and apply transformation on gherkin files.

Ghokin is able to format or check if the Gherkin file is well formatted:

 check Check a file/folder is well formatted fmt Format a feature file/folder…


En tant que développeur depuis 10 ans, j’ai pu travailler sur de multiples projets dont certains portaient en eux une complexité liée à la volonté de bien faire. C’est ce type de complexité que je souhaite aborder. Cet article est purement subjectif et peut amener différents débats.

Définition

L’over-engineering (ou over-kill) est le fait de créer un programme étant plus robuste et ayant plus de fonctionnalités que nécéssaire, ce qui a pour conséquences de le rendre inutilement complexe voire non opérationnel.

L’ over-engineering peut être un incontournable quand la sécurité et la performance sont critiques et sont les enjeux du programme…


Behavior-Driven Development (BDD) is an Agile software development process that encourages collaboration among developers, QA and non-technical or business participants in a software project. It encourages teams to use conversation and concrete examples to formalize a shared understanding of how the application should behave¹. Examples may be written in some feature files using the Gherkin language or in other format (like in code directly). The advantage of Gherkin is that all team profiles can read/write tests since it is not a technical language.

Pre-requisite

You have to specify all the examples at least during the 3 amigos / example mapping. …


La question peut paraître triviale car tout développeur sait utiliser un booléen. Cependant, notamment pour les booléens optionnels (prenant les valeurs true / false / null), différentes méthodes peuvent être utilisées à bon ou mauvais escient.

Pour le reste de l’article, je vais utiliser le langage Swift.

Exemple utilisé

Nous allons utiliser l’exemple suivant:

Une personne peut indiquer s’il elle aime le Swift ou le Kotlin (true), si elle est neutre (nil / null) ou si elle déteste ces langages (false).

Le but de l’exercice est d’afficher “Swift is wonderful” et/ou “Kotlin is wonderful” quand la valeur du booléen est true.


Introduction

Swift format is a tool to reformat your Swift code using best practices.

Installation

Source Code & Documentation: https://github.com/apple/swift-format

To install it, get the source code and build it (be on the branch containing your Swift version). E.g. for Swift 5.1, use the following command lines:

Find your swift-format package (should be in .build/x86_64-apple-macosx/debug).

Get the path where the package is located and put it inside your path (e.g. inside your ~/.bash_profile) by adding this line (please adapt the path to your package):

To check if swift-format is in your path, please do the following commands:

Use inside Git Hooks

In pre-commit hook

Using…

Benjamin Dumont

Mobile (iOS) and Web Developer (Java, PHP), DevOps https://benjdum59.github.io/

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store