xcfit 4.0.7 → 4.0.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f43527bbbb191356bb0fe798fc370901f13855cf
4
- data.tar.gz: 71a990057a5c23f37163bc02f0dd7ceda11c2ebe
3
+ metadata.gz: 49bd74a7fe5d7653317da07248068a01a68006f5
4
+ data.tar.gz: f6bd8664389fe751c9b9fee74bce2ba6e1cebacb
5
5
  SHA512:
6
- metadata.gz: db32ad238eed4131902fde92479fa8b10172b9e9a84877c916e72cfb3dd211649f0af5f21f63fb89b14565214612350966c1ded553f0fd35ac960e3fb3bd98fc
7
- data.tar.gz: 91f008496ffcf75e034825375a82e624991e7c27d88f111b079db641e5a7be2161e08ef9cada3b47f4d72fef115fe93d10ef99afd5b5d759a05688bc59addfed
6
+ metadata.gz: c8e3efb8dbbd855c830bdb151c4353b5a7604c6aaae9c185d468a84a1ac6d23196bab0d657ddf2dd9bad03e74d5d318d21168bd6f136ef34ab5d87a576e4ad52
7
+ data.tar.gz: 36fb83fd39f04179d1eec3227ecd27b27bfba5efcc3cfb83f742ce14df4c53d6b37032585cf05a8ad0340b5c90575ca8b051f2c1f8c5340e35cfd734080aa6d6
data/Cocoapods/Podfile CHANGED
@@ -13,18 +13,18 @@ target PROTOCOL_BDD_TARGET do
13
13
  pod 'XCFit'
14
14
  end
15
15
 
16
- target PAGE_OBJECT_TEST_TARGET do
17
- pod 'XCFit'
18
- end
19
-
20
- target CUCUMBER_TEST_TARGET do
21
- pod 'Cucumberish'
22
- end
23
-
24
- target FITNESSE_ACCEPTANCE_TEST_TARGET do
25
- pod 'OCSlimProject'
26
- end
27
-
28
- target FITNESSE_ACCEPTANCE_XCTEST_TARGET do
29
- pod 'OCSlimProjectTestBundleSupport'
30
- end
16
+ # target PAGE_OBJECT_TEST_TARGET do
17
+ # pod 'XCFit'
18
+ # end
19
+ #
20
+ # target CUCUMBER_TEST_TARGET do
21
+ # pod 'Cucumberish'
22
+ # end
23
+ #
24
+ # target FITNESSE_ACCEPTANCE_TEST_TARGET do
25
+ # pod 'OCSlimProject'
26
+ # end
27
+ #
28
+ # target FITNESSE_ACCEPTANCE_XCTEST_TARGET do
29
+ # pod 'OCSlimProjectTestBundleSupport'
30
+ # end
data/Fastlane/Fastfile CHANGED
@@ -24,34 +24,34 @@ lane :xcfit do |options|
24
24
  scan(opts)
25
25
  end
26
26
 
27
- desc "Runs XCFit Cucumberish Tests and Generate JUnit and HTML reports"
28
- lane :xcfit_cucumberish do |options|
29
- opts = {
30
- :scheme => XCFIT_CUCUMBERISH_SCHEME,
31
- :workspace => WORKSPACE,
32
- :configuration => CONFIGURATION,
33
- :destination => DESTINATION,
34
- :buildlog_path => './build',
35
- :output_directory => './build/cucumberish/reports',
36
- :output_style => 'basic',
37
- :output_types => 'junit, html',
38
- :code_coverage => true,
39
- }
40
- scan(opts)
41
- end
42
-
43
- desc "Runs XCFit Fitnesse Tests and Generate JUnit and HTML reports"
44
- lane :xcfit_fitnesse do |options|
45
- opts = {
46
- :scheme => XCFIT_FITNESSE_SCHEME,
47
- :workspace => WORKSPACE,
48
- :configuration => CONFIGURATION,
49
- :destination => DESTINATION,
50
- :buildlog_path => './build',
51
- :output_directory => './build/fitnesse/reports',
52
- :output_style => 'basic',
53
- :output_types => 'junit, html',
54
- :code_coverage => true,
55
- }
56
- scan(opts)
57
- end
27
+ # desc "Runs XCFit Cucumberish Tests and Generate JUnit and HTML reports"
28
+ # lane :xcfit_cucumberish do |options|
29
+ # opts = {
30
+ # :scheme => XCFIT_CUCUMBERISH_SCHEME,
31
+ # :workspace => WORKSPACE,
32
+ # :configuration => CONFIGURATION,
33
+ # :destination => DESTINATION,
34
+ # :buildlog_path => './build',
35
+ # :output_directory => './build/cucumberish/reports',
36
+ # :output_style => 'basic',
37
+ # :output_types => 'junit, html',
38
+ # :code_coverage => true,
39
+ # }
40
+ # scan(opts)
41
+ # end
42
+ #
43
+ # desc "Runs XCFit Fitnesse Tests and Generate JUnit and HTML reports"
44
+ # lane :xcfit_fitnesse do |options|
45
+ # opts = {
46
+ # :scheme => XCFIT_FITNESSE_SCHEME,
47
+ # :workspace => WORKSPACE,
48
+ # :configuration => CONFIGURATION,
49
+ # :destination => DESTINATION,
50
+ # :buildlog_path => './build',
51
+ # :output_directory => './build/fitnesse/reports',
52
+ # :output_style => 'basic',
53
+ # :output_types => 'junit, html',
54
+ # :code_coverage => true,
55
+ # }
56
+ # scan(opts)
57
+ # end
data/README.md CHANGED
@@ -150,11 +150,6 @@ To setup Templates for Xcode 8 for XCUI, Cucumberish target and Gherkin File Typ
150
150
  $ xcfit setup_xcode_templates
151
151
 
152
152
 
153
- ```
154
- To Setup Fitnesse Templates (Optional)
155
-
156
- ```
157
- $ xcfit setup_fitnesse_templates
158
153
  ```
159
154
 
160
155
  - This will add couple of templates to your Xcode for iOS and macOS apps. In your app if you go to 'File--->New--->Target'
@@ -222,7 +217,7 @@ Now, we can fetch and build Carthage Dependencies using following command.
222
217
 
223
218
  $ carthage update --platform iOS
224
219
 
225
- This will checkout and build XCFit and Cucumberish frameworks then we can manaully drag those frameworks in the `Build Phases` of the test targets. This is explained in details in the later section.
220
+ This will checkout and build XCFit frameworks then we can manually drag those frameworks in the `Build Phases` of the test targets. This is explained in details in the later section.
226
221
 
227
222
  ### Swift Package Manager
228
223
 
@@ -246,16 +241,52 @@ We can build, test package using the commnds avavilable for the Swift Package Ma
246
241
 
247
242
 
248
243
  ---
249
- # XCFit Swift Framework : XCUI Page Object Pattern + Pre-Defined Steps
244
+ # XCFit Swift Framework : XCUI Protocol Oriented, Page Object Pattern + Pre-Defined Steps
245
+
246
+ ## Protocol Oriented BDD
247
+
248
+ XCFit template supports Protocol Oriented BDD. Swift is a protocol oriented language and wedon't want to miss the point of Protocol, Extensions and Enums. To setup template
249
+
250
+ - From Xcode, create a new app(Or use existing app) and selct File ---> New ----> Target
251
+
252
+ - Now Select 'XCFit' for iOS app and Click on 'Protocol Oriented BDD Bundle'
253
+
254
+ - Once Clicked Xcode will create UI testing target with properly structured Xcode Groups and required files. You can then make physical directories on Disk Or change the folder/group structure as per your need.
255
+
256
+ - You may want to delete autogenerated UI test from Apple's standard template.
257
+
258
+ - You don't have to so any setting to run those demo XCUI tests. Just CMD+U and You are good to go !
259
+
260
+ ### What's in the Protocol Oriented BDD Template ?
261
+
262
+ * **Feature+Protocol.swift**
263
+
264
+ It's your feature will all the requirements which can be written as Acceptance tests
265
+
266
+ * **Feature+Extensions.swift**
267
+
268
+ It's extension on the Feature where you need to implement step definition in Given When Then format
269
+
270
+ * **Feature+Enums.swift**
271
+
272
+ All the XCUIElements for that Feature.
273
+
274
+ * **YOUR_TARGET_Test.swift**
275
+
276
+ This is test where you call Given When Then from Extensions. You can import `XCFit` framework and extend this class 'XCFit' and also confirms to 'Feature' protocol
277
+
278
+
279
+
280
+ ## Page Object Pattern
250
281
 
251
282
  XCFit templates gives an option to use very polular [Page Object Pattern](http://martinfowler.com/bliki/PageObject.html) with Apple's Xcode UI Testing framework. You can install templates and start using the code straight way, no need to use framework unless you want to use pre-defined BDD style tests.
252
283
 
253
284
 
254
- ## Setup 'XCUI POM Test bundle' Target
285
+ ## Setup 'Page Object Test bundle' Target
255
286
 
256
287
  - From Xcode, create a new app(Or use existing app) and selct File ---> New ----> Target
257
288
 
258
- - Now Select 'XCFit' for iOS app and Click on 'XCUI POM Test Bundle'
289
+ - Now Select 'XCFit' for iOS app and Click on 'Page Object Test Bundle'
259
290
 
260
291
  - Once Clicked on the target e.g 'XCUI POM Test Bundle' Xcode will create UI testing target with properly structured Xcode Groups and required files. You can then make physical directories on Disk Or change the folder/group structure as per your need.
261
292
 
@@ -474,17 +505,6 @@ In order to get [Cucumberish](https://github.com/Ahmed-Ali/Cucumberish/tree/mast
474
505
 
475
506
  Create a 'Podfile' if you don't have already. In your Podfile, add following Pod entry and update/install pod
476
507
 
477
- * **Swift 3.0.2**
478
-
479
- Cocoapods is more automated than Carthage. We can create `Podfile` and add specific dependency for the target
480
-
481
- ```ruby
482
- target '$_YOUR__TARGET' do
483
- pod 'XCFit', :git => 'https://github.com/Shashikant86/XCFit.git', :tag => '3.0.0'
484
- end
485
- ```
486
- This will doownload Cocoapods supporting Swift 3.0.2
487
-
488
508
  * **Swift 3.1**
489
509
 
490
510
  You can doenload latest version 4.0.0 to work with Swift 3.1
@@ -519,18 +539,11 @@ XCFit adds 'Cucumberish' target to existing Scheme. You can remove that target a
519
539
 
520
540
  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
521
541
 
522
- * **Swift 3.0.2**
523
-
524
- Add the following to `Cartfile` to get Swift 3.0.2 compatable source
525
-
526
- github "Shashikant86/XCFit" "3.0.0"
527
-
528
-
529
542
  * **Swift 3.1**
530
543
 
531
- You can get lates tag t work with Swift 3.1 then `Cartfile` can have following
544
+ You can get Cucumberish
532
545
 
533
- github "Shashikant86/XCFit"
546
+ github "Ahmed-Ali/Cucumberish"
534
547
 
535
548
 
536
549
  Now install, Carthage frameworks using commamnd
data/XCFit.gemspec CHANGED
@@ -13,7 +13,7 @@ Gem::Specification.new do |spec|
13
13
  spec.description = %q{XCFit is a full stack BDD framework in Xcode for iOS and macOS apps with Swift using Cucumberish and Fitnesse. Native Xcode implementation, No Appium, No Calabash, No Ruby or any other non iOS language. Checkout XCFIT POD}
14
14
  spec.homepage = "https://github.com/Shashikant86/XCFit"
15
15
 
16
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|XCFit4Demo|XCFitnesse|spec|features|_Pods.xcodeproj|Sources|Tests|XCFit.xcodeproj)/}) }
16
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|XCFit-Example|XCFitnesse|spec|features|_Pods.xcodeproj|Sources|Tests|XCFit.xcodeproj)/}) }
17
17
  spec.files.reject! { |fn| fn.include? "_Pods.xcodeproj" }
18
18
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ["lib"]
data/XCFit.podspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Pod::Spec.new do |s|
2
2
  s.name = 'XCFit'
3
- s.version = '4.0.7'
3
+ s.version = '4.0.8'
4
4
  s.summary = 'Full Stack BDD for iOS and macOS Apps with Swift, Xcode using XCUITest, Cucumberish, FitNesse and friends.'
5
5
 
6
6
  s.description = <<-DESC
@@ -68,7 +68,7 @@
68
68
  <string>Feature+Extension.swift</string>
69
69
  <string>Feature+Enum.swift</string>
70
70
  <string>Info.plist:PackageType</string>
71
- <string>___PACKAGENAMEASIDENTIFIER___Tests.swift</string>
71
+ <string>Feature+Tests.swift</string>
72
72
  </array>
73
73
  <key>Definitions</key>
74
74
  <dict>
@@ -97,10 +97,10 @@
97
97
  <string>&lt;key&gt;CFBundlePackageType&lt;/key&gt;
98
98
  &lt;string&gt;BNDL&lt;/string&gt;
99
99
  </string>
100
- <key>___PACKAGENAMEASIDENTIFIER___Tests.swift</key>
100
+ <key>Feature+Tests.swift</key>
101
101
  <dict>
102
102
  <key>Path</key>
103
- <string>___PACKAGENAMEASIDENTIFIER___Tests.swift</string>
103
+ <string>Feature+Tests.swift</string>
104
104
  <key>Group</key>
105
105
  <string>Tests</string>
106
106
  </dict>
data/homebrew/xcfit CHANGED
@@ -3,7 +3,7 @@
3
3
  require 'fileutils'
4
4
  require 'tempfile'
5
5
 
6
- VERSION = "4.0.7"
6
+ VERSION = "4.0.8"
7
7
 
8
8
  @root_dir = File.expand_path('~')
9
9
  @root_lib_dir = File.join(@root_dir, 'Library')
data/lib/XCFit/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module XCFit
2
- VERSION = "4.0.7"
2
+ VERSION = "4.0.8"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xcfit
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.7
4
+ version: 4.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shashikant86
@@ -112,7 +112,6 @@ files:
112
112
  - XCFit_Templates/XCFit/Ptotocol BDD Bundle Base.xctemplate/TemplateIcon.png
113
113
  - XCFit_Templates/XCFit/Ptotocol BDD Bundle Base.xctemplate/TemplateIcon@2x.png
114
114
  - XCFit_Templates/XCFit/Ptotocol BDD Bundle Base.xctemplate/TemplateInfo.plist
115
- - XCFit_Templates/XCFit/Ptotocol BDD Bundle Base.xctemplate/___PACKAGENAMEASIDENTIFIER___Tests.swift
116
115
  - XCFit_Templates/XCFit/XCUI POM Test Bundle Base.xctemplate/Extensions.swift
117
116
  - XCFit_Templates/XCFit/XCUI POM Test Bundle Base.xctemplate/HomeScreen.swift
118
117
  - XCFit_Templates/XCFit/XCUI POM Test Bundle Base.xctemplate/HomeScreenTest.swift
@@ -1,38 +0,0 @@
1
- //
2
- //
3
- // Created by XCFit Framework
4
- // Copyright © 2016 XCFit Framework. All rights reserved.
5
- //
6
-
7
- /*
8
-
9
- This is sample code created by XCFit Framework and can be edited/Removed as per your project need. You can also re-arrange Xcode Groups and directories as per your need.
10
-
11
- This is a actual representation of the test which extends to XCFit and confirms to Feature protocol. We can write a protocol per test implement steps with extensions and store elements in the enums.
12
-
13
- */
14
-
15
- import XCTest
16
-
17
- //import XCFit
18
-
19
- // Once XCFit is imported then you can extend this class to use pre-defined steps
20
-
21
- class ___PACKAGENAMEASIDENTIFIER___Tests: XCTestCase, Feature {
22
-
23
- override func setUp() {
24
- super.setUp()
25
-
26
- continueAfterFailure = false
27
- XCUIApplication().launch()
28
- }
29
-
30
- override func tearDown() {
31
- super.tearDown()
32
- }
33
-
34
- func testAppIsRunning() {
35
- givenTheAppIsRunning()
36
- }
37
- }
38
-