README.md in xcfit-3.1.4 vs README.md in xcfit-3.1.5
- old
+ new
@@ -94,37 +94,44 @@
---
# Installation
-XCFit installtion has two steps.
-* **Xcode Template Installtion**
+XCFit installation has two steps.
-This will install Xcode Templates with skeloton code to support BDD in iOS app. The templates are XCUI Page Object Templates, Cucumberish BDD Templated and OCSlim Fitnesse Templates. The templates can be installed with [xcfit-RubyGem](https://rubygems.org/gems/xcfit) or [Homebrew](http://brew.sh).
-* **Framework Installtion**
+* **Xcode Template Installation**
-XCFit Swift Framework provided pre-defined BDD Style steps with XCUI and supporting Frameworks like Cucumberish and OCSlim used to write BDD Steps. XCFit Swift Framework is available on [XCFit-CocoaPods](http://cocoadocs.org/docsets/XCFit), Carthage and Swift Package manager. Cucumberish](https://github.com/Ahmed-Ali/Cucumberish) and [OCSlimProject](https://github.com/paulstringer/OCSlimProject) are available on Cocoapods.
+This will install Xcode Templates with skeleton code to support BDD in iOS app. The templates are XCUI Page Object Templates, Cucumberish BDD Templated and OCSlim Fitnesse Templates. The templates can be installed with [xcfit-RubyGem](https://rubygems.org/gems/xcfit) or [Homebrew](http://brew.sh).
+
+* **Framework Installation**
+
+XCFit Swift Framework provided pre-defined BDD Style steps with XCUI and supporting Frameworks like Cucumberish and OCSlim used to write BDD Steps. XCFit Swift Framework is available on [XCFit-CocoaPods](http://cocoadocs.org/docsets/XCFit), Carthage and Swift Package manager. [Cucumberish](https://github.com/Ahmed-Ali/Cucumberish) and [OCSlimProject](https://github.com/paulstringer/OCSlimProject) are available on Cocoapods.
+
+
+
XCFit can be installed using [Homebrew](http://brew.sh) or using [RubyGems](https://rubygems.org/).
-## Template Installtion
+## Template Installation
XCFit templates can be installed using Homebrew or Rubygem.
-### Homebrew Installtion
+
+### Homebrew Installation
+
Assuming you have already installed [Homebrew](http://brew.sh). Let's tap the formula
brew tap shashikant86/homebrew-taps
Now, we can install XCFit brew package using
brew install xcfit
This will download XCFit templates.
-### XCFit RubyGem Installtion
+### XCFit RubyGem Installation
If you can't use HomeBrew for some reason then XCFit can be installed using [RubyGems](https://rubygems.org/). This will set our Xcode for BDD
$ gem install xcfit
You need to use with 'sudo' if you are using system (pre-installed) Ruby(2.0). XCFit gem will be used to set all the Xcode Templates for Xcode.
@@ -140,12 +147,14 @@
##### Xcode 8
To setup Templates for Xcode 8 for XCUI, Cucumberish target and Gherkin File Type.
```sh
-$ xcfit setup_xcfit_templates
+$ xcfit setup_xcode_templates
+
+
```
To Setup Fitnesse Templates
```
$ xcfit setup_fitnesse_templates
@@ -155,11 +164,11 @@
You will see new option for iOS i.e 'XCFit'. Once Clicked on it. You will see Cucumberish UI and Fitnesse Acceptance Tests. XCUI POM, Fitnesse Acceptance Unit Test bundles. As shown
![image](https://github.com/Shashikant86/XCFit-GIFS/blob/master/Xcode8-Templates.png)
-## Framework Installtion
+## Framework Installation
XCFit, Cucumberish or OCSlimProject Framework can be installed using Cocoapods. XCFit and Cuucmberish can be installed using Carthage as well but we will use Cocoapods as it's more automated than Carthage. We can create `Podfile` and add specific dependency for the target
```ruby
target '$_YOUR__TARGET' do
@@ -340,10 +349,11 @@
- Now Drag and Drop 'Features' directory to Xcode Cucumberish target
- Select only '**Create folder references**' Option. ** Do Not Select 'Create groups' Or 'Copy items if needed**'
+Now, We have to get cucumberish framework either using Carthage or Cocoapods. Let's doscuss both methods here
### Getting Cucumberish CocoaPod into our Target
In order to get [Cucumberish](https://github.com/Ahmed-Ali/Cucumberish/tree/master/Cucumberish) source content. There are few ways we can do that
@@ -351,11 +361,11 @@
Create a 'Podfile' if you don't have already. In your Podfile, add following Pod entry and update/install pod
```ruby
target '$_YOUR_CUCUMBERISH_TARGET' do
- pod 'Cucumberish'
+ pod 'XCFit'
end
```
```sh
@@ -374,15 +384,41 @@
#### Create Separate Scheme if needed
XCFit adds 'Cucumberish' target to existing Scheme. You can remove that target and run separate scheme to keep it independent from Unit tests. Make sure you make the new scheme executable for Running.
+### Getting Cucumberish using Carthage
+
+Once you have setup XCFit Cucumberish templates, we need to get Cucumberish framework. In order to get [Cucumberish](https://github.com/Ahmed-Ali/Cucumberish/tree/master/Cucumberish) using Carthage, we need to create `Cartfile` with following content
+
+ github "Shashikant86/XCFit"
+
+Now install, Carthage frameworks using commamnd
+
+ $ carthage update --platform iOS
+
+This will chekcout and build XCFit and Cucumberish frameworks inside the `Carthage` directory. Now we need to manually drag and drop frameworks in the `build phases` of the Cucumberish target.
+
+* From the build phases of the cucumberish target select ` Link Binary with Libraries` and drag `Cucumberish.framework` from `Carthage/Build/iOS` directory
+* Add `New Copy Files Phase` and select destination as 'Frameworks' and Add Cucumberish Frameworks from `Carthage/Build/iOS` directory. Select 'Create Group' and 'Copy if needed' when prompted.
+
+Once drag and drop is don and we have "Features" directory then we are ready to launch our BDD Style tests using 'CMD+U'. The entire Carthage Setup looks like this
+
+![image](https://github.com/Shashikant86/xcfitgif/blob/master/CarthageCucumberish.gif)
+
+
---
# Fitnesse for iOS: Acceptance/Contract Tests
[Fitnesse](http://fitnesse.org/) is fully integrated standalone wiki and acceptance testing framework for BDD Style testing. As of now we have seen Cucumber and Page Object pattern test frameworks. If you really wanted to get more information about Fitnnese for iOS, please follow documentation on [OCSlim](http://paulstringer.github.io/OCSlimProject/) project. XCFit adopted the framework as dependeny to make it full stack BDD. We will cover basic setup as part of this document.
+Before get started make sure, you have Fitnesse Xcode templates installed
+
+
+```
+$ xcfit setup_fitnesse_templates
+```
## Setup 'Acceptance Test' Target template
- From Xcode, create a new app(Or use existing app) and selct File ---> New ----> Target