xcfit 3.1.4 → 3.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +47 -11
- data/XCFit.podspec +1 -1
- data/homebrew/xcfit +7 -7
- data/lib/XCFit/main.rb +2 -2
- data/lib/XCFit/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6b5bac750ff2d30e875425711a3517892d7cedae
|
4
|
+
data.tar.gz: f18a0e32f831bcadc929ccc744e78708904468f4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 79c0e8907aeb7253a7751583dd76f612af0a158d3288d010e5ecdbd1fecf3e514444da45d71884ac77109178c8fe3a1e37f2403f9e00996d69d56d4e644e42d0
|
7
|
+
data.tar.gz: 2029b85452d91add3c324d121ab6ec41f2fd97a367a2d5cb20bbe9f34ce07a6b5c37128fada3d052a917e295437f6e6b199f861f2aa92835af2ed119d19a6091
|
data/README.md
CHANGED
@@ -96,22 +96,29 @@ You must have Mac Operating System with OSX/MacOS Sierra.
|
|
96
96
|
|
97
97
|
# Installation
|
98
98
|
|
99
|
-
XCFit installtion has two steps.
|
100
99
|
|
101
|
-
|
100
|
+
XCFit installation has two steps.
|
102
101
|
|
103
|
-
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).
|
104
102
|
|
105
|
-
* **
|
103
|
+
* **Xcode Template Installation**
|
104
|
+
|
105
|
+
|
106
|
+
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).
|
107
|
+
|
108
|
+
* **Framework Installation**
|
109
|
+
|
110
|
+
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.
|
111
|
+
|
106
112
|
|
107
|
-
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.
|
108
113
|
|
109
114
|
XCFit can be installed using [Homebrew](http://brew.sh) or using [RubyGems](https://rubygems.org/).
|
110
115
|
|
111
|
-
## Template
|
116
|
+
## Template Installation
|
112
117
|
|
113
118
|
XCFit templates can be installed using Homebrew or Rubygem.
|
114
|
-
|
119
|
+
|
120
|
+
### Homebrew Installation
|
121
|
+
|
115
122
|
Assuming you have already installed [Homebrew](http://brew.sh). Let's tap the formula
|
116
123
|
|
117
124
|
brew tap shashikant86/homebrew-taps
|
@@ -122,7 +129,7 @@ Now, we can install XCFit brew package using
|
|
122
129
|
|
123
130
|
This will download XCFit templates.
|
124
131
|
|
125
|
-
### XCFit RubyGem
|
132
|
+
### XCFit RubyGem Installation
|
126
133
|
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
|
127
134
|
|
128
135
|
$ gem install xcfit
|
@@ -142,7 +149,9 @@ To setup Templates for Xcode 8 for XCUI, Cucumberish target and Gherkin File Typ
|
|
142
149
|
|
143
150
|
|
144
151
|
```sh
|
145
|
-
|
152
|
+
|
153
|
+
$ xcfit setup_xcode_templates
|
154
|
+
|
146
155
|
|
147
156
|
```
|
148
157
|
To Setup Fitnesse Templates
|
@@ -157,7 +166,7 @@ You will see new option for iOS i.e 'XCFit'. Once Clicked on it. You will see Cu
|
|
157
166
|
|
158
167
|
![image](https://github.com/Shashikant86/XCFit-GIFS/blob/master/Xcode8-Templates.png)
|
159
168
|
|
160
|
-
## Framework
|
169
|
+
## Framework Installation
|
161
170
|
|
162
171
|
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
|
163
172
|
|
@@ -342,6 +351,7 @@ Given the app is running
|
|
342
351
|
|
343
352
|
- Select only '**Create folder references**' Option. ** Do Not Select 'Create groups' Or 'Copy items if needed**'
|
344
353
|
|
354
|
+
Now, We have to get cucumberish framework either using Carthage or Cocoapods. Let's doscuss both methods here
|
345
355
|
|
346
356
|
### Getting Cucumberish CocoaPod into our Target
|
347
357
|
|
@@ -353,7 +363,7 @@ Create a 'Podfile' if you don't have already. In your Podfile, add following Pod
|
|
353
363
|
|
354
364
|
```ruby
|
355
365
|
target '$_YOUR_CUCUMBERISH_TARGET' do
|
356
|
-
pod '
|
366
|
+
pod 'XCFit'
|
357
367
|
end
|
358
368
|
```
|
359
369
|
|
@@ -376,12 +386,38 @@ Congratulations !! You have just ran your first Cucumber BDD Scenario in the Xco
|
|
376
386
|
|
377
387
|
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.
|
378
388
|
|
389
|
+
### Getting Cucumberish using Carthage
|
390
|
+
|
391
|
+
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
|
392
|
+
|
393
|
+
github "Shashikant86/XCFit"
|
394
|
+
|
395
|
+
Now install, Carthage frameworks using commamnd
|
396
|
+
|
397
|
+
$ carthage update --platform iOS
|
398
|
+
|
399
|
+
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.
|
400
|
+
|
401
|
+
* From the build phases of the cucumberish target select ` Link Binary with Libraries` and drag `Cucumberish.framework` from `Carthage/Build/iOS` directory
|
402
|
+
* 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.
|
403
|
+
|
404
|
+
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
|
405
|
+
|
406
|
+
![image](https://github.com/Shashikant86/xcfitgif/blob/master/CarthageCucumberish.gif)
|
407
|
+
|
408
|
+
|
379
409
|
---
|
380
410
|
|
381
411
|
|
382
412
|
# Fitnesse for iOS: Acceptance/Contract Tests
|
383
413
|
|
384
414
|
[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.
|
415
|
+
Before get started make sure, you have Fitnesse Xcode templates installed
|
416
|
+
|
417
|
+
|
418
|
+
```
|
419
|
+
$ xcfit setup_fitnesse_templates
|
420
|
+
```
|
385
421
|
|
386
422
|
## Setup 'Acceptance Test' Target template
|
387
423
|
|
data/XCFit.podspec
CHANGED
data/homebrew/xcfit
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
require 'fileutils'
|
4
4
|
require 'tempfile'
|
5
5
|
|
6
|
-
VERSION = "3.1.
|
6
|
+
VERSION = "3.1.5"
|
7
7
|
|
8
8
|
@root_dir = File.expand_path('~')
|
9
9
|
@root_lib_dir = File.join(@root_dir, 'Library')
|
@@ -32,7 +32,7 @@ def clean_xcfit
|
|
32
32
|
system("rm -rf /tmp/XCFit-#{VERSION}/")
|
33
33
|
end
|
34
34
|
|
35
|
-
def
|
35
|
+
def setup_xcode_templates
|
36
36
|
if File.exist?(@root_xcfit_dir)
|
37
37
|
puts "==================XXXXXXXX==========================="
|
38
38
|
puts 'There is already XCFit directory in Xcode Templates. Looks like you are trying Fitnesse Templates '
|
@@ -71,7 +71,7 @@ def print_usage
|
|
71
71
|
Usage: xcfit <command-name>
|
72
72
|
|
73
73
|
<command-name> can be one of
|
74
|
-
|
74
|
+
setup_xcode_templates
|
75
75
|
generate a Xcode 8 Templates for the XCUI and Cucumberish
|
76
76
|
setup_fitnesse_templates
|
77
77
|
generate a Xcode 8 Templates for Fitnesse
|
@@ -93,14 +93,14 @@ def print_help
|
|
93
93
|
|
94
94
|
<command-name> can be one of
|
95
95
|
help
|
96
|
-
|
96
|
+
setup_xcode_templates
|
97
97
|
setup_fitnesse_templates
|
98
98
|
version
|
99
99
|
|
100
100
|
Commands:
|
101
101
|
help : prints more detailed help information.
|
102
102
|
|
103
|
-
|
103
|
+
setup_xcode_templates : Generate a Xcode Target and File Templates for the XCUI and Cucumberish
|
104
104
|
|
105
105
|
setup_fitnesse_templates : Generate Xcode templates for the Fitnesse
|
106
106
|
|
@@ -117,8 +117,8 @@ else
|
|
117
117
|
cmd = ARGV.shift
|
118
118
|
if cmd == 'help'
|
119
119
|
print_help
|
120
|
-
elsif cmd == '
|
121
|
-
|
120
|
+
elsif cmd == 'setup_xcode_templates'
|
121
|
+
setup_xcode_templates
|
122
122
|
elsif cmd == 'setup_fitnesse_templates'
|
123
123
|
setup_fitnesse_templates
|
124
124
|
elsif cmd == 'version'
|
data/lib/XCFit/main.rb
CHANGED
@@ -29,8 +29,8 @@ module XCFit
|
|
29
29
|
say XCFit::VERSION
|
30
30
|
end
|
31
31
|
|
32
|
-
desc '
|
33
|
-
def
|
32
|
+
desc 'setup_xcode_templates', 'Generate All Xcode Templates for the Gherkin Feature Files & targets for Cucumberish and Fitnesse'
|
33
|
+
def setup_xcode_templates
|
34
34
|
if File.exist?($root_xcfit_dir)
|
35
35
|
puts "==================XXXXXXXX==========================="
|
36
36
|
puts 'There is already XCFit directory in Xcode Templates. Looks like you are trying Fitnesse Templates '
|
data/lib/XCFit/version.rb
CHANGED