2016-10-18 3 views
2

В Xcode 7 библиотека библиотеки cocoapods с исключением для покрытия кода.Кодовое покрытие с библиотекой cocoapods - iOS Unit Test

Но в Xcode 8 библиотека будет включать в себя покрытие кода.

Могу ли я в любом случае исключить библиотеку в охвате кода?

Пример: Установка pod 'TPKeyboardAvoiding' TPKeyboardAvoidingScrollView.m включает в себя покрытие кода.

+0

Возможный дубликат [Как исключить Pods из покрытия кода в Xcode] (http://stackoverflow.com/questions/39674057/how-to-exclude-pods-from-code-coverage-in-xcode) –

ответ

3

Вы должны отключить покрытие кода для целей, которые вы не хотите покрывать. Если вы хотите, чтобы все ваши стручки, чтобы не быть включены в покрытии коды вы можете добавить на свой podfile

# Disable Code Coverage for Pods projects 
post_install do |installer_representation| 
    installer_representation.pods_project.targets.each do |target| 
     target.build_configurations.each do |config| 
      config.build_settings['CLANG_ENABLE_CODE_COVERAGE'] = 'NO' 
     end 
    end 
end 

Это отключит покрытие кода для цели ваших Бобов как в this image

Если вам сейчас проведите тест с помощью command + U

Я попытался использовать этот блок в одном из моих проектов, и это сработало для меня. Я использую Xcode Version 8.1 (8B62)

Во всяком случае, я все еще борюсь с той же проблемой для других контейнеров, таких как Cartography. Есть определенная настройка (которой я еще не обнаружил), которая, кажется, переопределяет CLANG_ENABLE_CODE_COVERAGE, и тесты по-прежнему выдают для нее покрытие кода.

Дайте мне знать, если это решит вашу проблему.

+0

есть вам удалось решить проблему картографии? –

+5

Похоже, если стручок в Swift - он не будет скрыт, только объекты ObjC скрыты –

+0

не забудьте запустить 'pod install' –

Смежные вопросы