2016-10-02 2 views
1

Я учился быстро в течение трех дней. Я планирую быстро создавать свои навыки, особенно в iOS. Я только что посоветовал мой коллега, который является разработчиком iOS, чтобы быстро научиться при написании теста в нашем приложении, - это полезно для компании и для меня, что имеет смысл для меня. Теперь я пытаюсь следовать этому руководству. https://medium.com/@ynzc/getting-started-with-tdd-in-swift-2fab3e07204bНет такого модуля `Quick`, использующего cocoapods

После выполнения учебного пособия переписать тест в фреймворке Quick, который очень похож на Rspec. Я выполнил установку CocoaPod, а затем выполнил установку Quick framework. Используйте .xcworkspaces вместо .xcodeproj. Но все же я получаю ошибку No such module 'Quick'.

Я уже занимался исследованиями и удалял стручки, но все еще получал ошибку. Я застрял почти 5 часов, пытаясь заставить его работать. Любой, кто знаком с этой ошибкой.

platform :ios, '9.2' 

target 'FizzBuzz' do 
    use_frameworks! 

    def test_pods 
    pod 'Quick', '~> 0.9.0' 
    pod 'Nimble', '~> 3.2.0' 
    end 

    target 'FizzBuzzTests' do 
    inherit! :search_paths 
    test_pods 
    end 

    target 'FizzBuzzUITests' do 
    inherit! :search_paths 
    test_pods 
    end 

end 

screenshot of the project folder

ответ

0

Попробуйте это. Возможно, потребуется перестроить кокоаподы.

  1. Выход из XCode. Перейдите в терминал и cd в свой проект.
  2. Запустить под дезинтеграции.
  3. Запустить комплект установки.
  4. Откройте Xcode и очистите и создайте проект .xcworkspaces.
+0

Спасибо за ваш ответ, но это не сработало для меня. Все еще продолжайте выдавать ошибку 'Нет такого модуля 'Quick''. –

2

Я столкнулся с тем же вопросом. Мне не нужно было вставлять тестовые цели в мой подканал. например

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

use_frameworks! 

target 'MyAppName' do 
    pod 'RealmSwift' 
    pod 'GoogleMaps' 
end 

target 'MyAppNameTests' do 
    inherit! :search_paths 
    pod 'Quick', :git => 'https://github.com/Quick/Quick.git' 
    pod 'Nimble', :git => 'https://github.com/Quick/Nimble.git' 
end 

target 'MyAppNameUITests' do 
    inherit! :search_paths 
    pod 'Quick', :git => 'https://github.com/Quick/Quick.git' 
    pod 'Nimble', :git => 'https://github.com/Quick/Nimble.git' 
end 

post_install do |installer| 
    installer.pods_project.targets.each do |target| 
    target.build_configurations.each do |config| 
     config.build_settings['SWIFT_VERSION'] = '3.0' # or '3.0' 
    end 
    end 
end 

Я использую Xcode 8.1. Нажмите на выбранную в данный момент схему.

Выберите «схемы управления».

Selected scheme.

Put галочка рядом тестовых схем и быстро.

Нажмите на свою схему приложений еще раз. Выберите каждую схему и перейдите в Product> Build. Наконец, снова выберите свою главную схему приложения. Теперь попробуйте добавить «import Quick» в одном из ваших тестовых классов.

Schemes

0

У меня была эта проблема, сохранялось через сборки чистит. Я заметил, что это происходило только в одном файле, а файлы, у которых не было этой проблемы, были import foundation. После импорта фонда на линии перед ним он работал. Я подумал, может быть, это просто изменение файла, который сделал это, поэтому я удалил фондовый импорт, и ошибка вернулась. Поэтому попробуйте добавить этот импорт, если у вас его нет.

1

У меня недавно была эта проблема, и ни один из текущих ответов не разрешил это для меня.

Причина, по которой я получал эту ошибку, заключалась в том, что файл Test/Spec (NetworkSpec.swift), который я создал, имел целевое членство в главной целевой программе приложения, а не в целевом объекте тестирования.

Чтобы обновить это, я открыл проект в xcode, выбрал файл в проводнике проекта, а затем в окне свойств справа. Затем в целевой членской области. У меня было два варианта.

  • Projectname
  • ProjectNameTests

я непроверенный флажок рядом с Projectname (не настоящее имя для приложения), а затем проверил один рядом с ProjectNameTests и повторно проводили тесты. Все работало, как ожидалось.

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