Behaviour Driven Development in the iOS world was always challenging because of lack proper BDD tools like Cucumber in Swift. Shashikant Jagtap joins iOSCon Bytes to cover how simple it is to now setup BDD tooling with the help of XCFit!
Swift is truly Protocol Oriented language so we shouldn't miss out using Protocols and Extension while writing our Acceptance Tests. XCFit is a full stack Xcode BDD framework for Swift iOS apps. XCFit allows you to drive your development from UI using protocol or human readable language like Given/When/Then. We don't necessarily follow Gherkin syntax still achieve the BDD goals. In this talk we will demonstrate how to perform BDD using Swift Protocol, Extensions and Enumeration.
This talk will discover live demo of Protocol Oriented BDD with XCFit including
Building a sample app using Protocol Oriented BDD approach
Setting up BDD target with XCFit Protocol Oriented BDD Xcode Template
Writing Protocols for requirements
Writing Step Definitions using Swift Extensions and XCUITest API
Driving Development from Scenarios and Making our BDD Scenario Pass
Writing lightweight acceptance test using Fitnesse (time permit)
Setting us fastlane to run scenarios on CI (time permit)
By end of this talk, you will learn how easy and quick to setup Protocol Oriented BDD test target with auto generated swift files using automated Xcode templates.We can drive development from UI. You can use Given/When/Then to write scenarios with product owner, BA, developer, testers and then it can be implemented in Apple's own XCUI test tool using Swift. No Appium, No Ruby, No Java. This will help to bridge the gap between QA & developers as well as business people.
To know more about XCFit Checkout:
YOU MAY ALSO LIKE:
Full Stack BDD for iOS inside Xcode with Shashikant Jagtap
Shashikant is a software professional, he loves automating software delivery using DevOps and test automation tools. Shashikant uses Apple Developer tools like Swift, Xcode, XCTest, Xcode Server. In addition to Open-Source Contributor and is the author of BDDfire (Ruby) and XCFit (Swift) framework.