#swift #xcode-ui-testing #earlgrey #earlgrey-2
#swift #xcode-ui-тестирование #earlgrey #earlgrey-2
Вопрос:
Я пытаюсь добавить тесты пользовательского интерфейса в свой проект, используя EarlGrey 2.0, выполнив следующие действия для установки фреймворка: https://www.youtube.com/watch?v=KQaA11qVQn0 (с использованием кокосовых стручков). Он успешно собран, но когда я попытался запустить тест, я получил эту ошибку:
2020-11-27 14:18:16.076586 0700 X-UITests-Runner[75526:5465621] The bundle X-UITests” couldn’t be loaded because it is damaged or missing necessary resources. Try reinstalling the bundle.
2020-11-27 14:18:16.076704 0700 X-UITests-Runner[75526:5465621] (dlopen_preflight(/X-blqsydhdzeecqndvwzwsshajcwdm/Build/Products/Debug-iphonesimulator/X-UITests-Runner.app/PlugIns/X-UITests.xctest/X-UITests): Library not loaded: @rpath/Alamofire.framework/Alamofire
Referenced from: /X-blqsydhdzeecqndvwzwsshajcwdm/Build/Products/Debug-iphonesimulator/X-UITests-Runner.app/PlugIns/X-UITests.xctest/X-UITests
Reason: image not found)
У меня есть это в моем подфайле:
use_frameworks!
def shared_pods
pod 'Alamofire'
pod 'Firebase'
pod 'Firebase/Analytics'
pod 'Firebase/RemoteConfig'
pod 'Firebase/Crashlytics'
pod 'Firebase/Messaging'
pod 'Firebase/Auth'
pod 'Firebase/Database'
pod 'Introspect'
pod 'ReachabilitySwift'
pod 'RealmSwift'
pod 'SDWebImageSwiftUI'
pod 'SwiftKeychainWrapper'
pod 'Zip'
end
target 'X' do
shared_pods
pod 'EarlGreyApp'
end
target 'X-UITests' do
inherit! :search_paths
pod 'EarlGreyTest'
pod 'eDistantObject', '0.9.0'
end
Я попытался снять флажок Find Implicit Dependencies
на схеме, но все равно получил ошибку. Любая помощь? Спасибо.
Комментарии:
1. Можете ли вы попробовать добавить «use_frameworks!» после <<target ‘X’ do>>> .
target 'X' do use_frameworks!
.
Ответ №1:
Попробуйте использовать use_frameworks! рядом с целью,
def shared_pods
pod 'Alamofire'
pod 'Firebase'
pod 'Firebase/Analytics'
pod 'Firebase/RemoteConfig'
pod 'Firebase/Crashlytics'
pod 'Firebase/Messaging'
pod 'Firebase/Auth'
pod 'Firebase/Database'
pod 'Introspect'
pod 'ReachabilitySwift'
pod 'RealmSwift'
pod 'SDWebImageSwiftUI'
pod 'SwiftKeychainWrapper'
pod 'Zip'
end
target 'X' do
use_frameworks!
shared_pods
pod 'EarlGreyApp'
end
target 'X-UITests' do
use_frameworks!
inherit! :search_paths
pod 'EarlGreyTest'
pod 'eDistantObject', '0.9.0'
end
Ответ №2:
Такого рода ошибка, как правило, говорит о том, что какой-то класс, который вы пытаетесь протестировать, имеет зависимость от модуля Alamofire. Поэтому вам также необходимо добавить Alamofire к вашей тестовой цели
target 'X-UITests' do
...
pod 'Alamofire'
...
end