Subito-it / SBTUITestTunnel

Enable network mocks and more in UI Tests
Other
344 stars 75 forks source link

v5.0 breaks my test build #82

Closed beyerss closed 4 years ago

beyerss commented 5 years ago

I've upgraded to version 5.0 to avoid the issue of both the client and the server building the same framework. That issue is gone and I can now make archive builds with no problems. However, when I try to run tests I get compile errors:

I'm not sure what to do to fix this issue. Any advice?

tcamin commented 5 years ago

I just created an empty sample project, setup as described in documentation and everything worked as expected. The currently on an older version of CocoaPods though, 1.6.2.

Can you share your Podfile? What version of cocoa pods are you running?

QAutomatron commented 5 years ago

@beyerss check your Podfile. There were updates for pod names and for imports in the project.

beyerss commented 5 years ago

Here is my complete environment stack

Stack

   CocoaPods : 1.7.3
        Ruby : ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]
    RubyGems : 2.5.2.3
        Host : Mac OS X 10.14.6 (18G103)
       Xcode : 11.0 (11A420a)
         Git : git version 2.21.0 (Apple Git-122)
Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib
Repositories : master - https://github.com/CocoaPods/Specs.git @ 7f1e95493b1fa7e9668dc1037ddeaa51009dfa15

Installation Source

Executable Path: /usr/local/bin/pod

Plugins

cocoapods-deintegrate : 1.0.4
cocoapods-plugins     : 1.0.0
cocoapods-search      : 1.0.0
cocoapods-stats       : 1.0.0
cocoapods-trunk       : 1.3.1
cocoapods-try         : 1.1.0

Podfile

source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '11.0'
use_frameworks!
inhibit_all_warnings!

pod 'RxSwift'
pod 'RxCocoa'
pod 'GTMSessionFetcher', '~> 1.1'

target "App" do
    pod 'Alamofire', '~> 4.8'
    pod 'AlamofireImage', '~> 3.5.0'
    pod 'ReactiveCocoa'
    pod 'UICKeyChainStore'

    pod 'Fabric'
    pod 'Crashlytics'
    pod 'Insert', '~> 1.51.0.0'

    pod 'Firebase'
    pod 'Firebase/Database'
    pod 'Firebase/Auth'
    pod 'Firebase/Messaging'

    pod 'DateToolsSwift'
    pod 'ActiveLabel'
    pod 'Atributika'
    pod 'TweeTextField'
    pod 'SwiftRangeSlider'
    pod 'FacebookCore'
    pod 'FacebookLogin'
    pod 'GoogleSignIn'

    pod 'SBTUITestTunnelServer'
    pod 'GCDWebServer', :inhibit_warnings => true
end

target "AppTests" do
    pod 'Alamofire', '~> 4.8'
    pod 'ReactiveCocoa'
    pod 'UICKeyChainStore'

    pod 'Firebase'
    pod 'Firebase/Database'
    pod 'Firebase/Auth'
    pod 'Firebase/Messaging'

    pod 'ActiveLabel'

    pod 'OHHTTPStubs/Swift'
end

target "AppUITests" do
    pod 'Alamofire', '~> 4.8'
    pod 'ReactiveCocoa'
    pod 'UICKeyChainStore'

    pod 'Firebase'
    pod 'Firebase/Database'
    pod 'Firebase/Auth'
    pod 'Firebase/Messaging'

    pod 'ActiveLabel'

    pod 'SBTUITestTunnelClient'
end

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['ARCHS'] = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"

            if config.name == 'Test'
                config.build_settings['CLANG_ENABLE_CODE_COVERAGE'] = 'NO'
                config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'ENABLE_UITUNNEL=1']
            end
        end
    end
end
beyerss commented 5 years ago

@QAutomatron as you can see above the pod statements have been updated to what I think is the correct values. I've also updated all of the import statements to use SBTUITestTunnelServer in the AppDelegate and SBTUITestTunnelClient in the test case classes.

QAutomatron commented 5 years ago

@beyerss Yeah, I see it now. I just faced the same issue, but after I changed pod names, update all the imports and do pod install everything starts to work.