Запустить пакет XCTest с помощью simctl

У меня есть пакет XCTest, который я могу запустить через xcode на симуляторе с помощью simctl . Я использую iPhone 6 iOS 9.1 simulator со следующими переменными среды:

 export SIMCTL_CHILD_TestBundleLocation="/Users/User/ios_app/DerivedData/primus/Build/Products/Debug-iphonesimulator/Tests.xctest" export SIMCTL_CHILD_XCInjectBundle="/Users/User/ios_app/DerivedData/primus/Build/Products/Debug-iphonesimulator/Tests.xctest" export SIMCTL_CHILD_XCInjectBundleInto="/Users/User/ios_app/DerivedData/primus/Build/Products/Debug-iphonesimulator/ios_app.app/ios_app" export SIMCTL_CHILD_XCTestConfigurationFilePath="/Users/User/ios_app/DerivedData/primus/Build/Products/Debug-iphonesimulator/Tests.xctest/Tests-7025D700-AA6C-4343-9C7A-92F9CC3A1C42.xctestconfiguration" export SIMCTL_CHILD_DYLD_LIBRARY_PATH="/Users/User/ios_app/DerivedData/primus/Build/Products/Debug-iphonesimulator:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks" export SIMCTL_CHILD_DYLD_FRAMEWORK_PATH="/Users/User/ios_app/DerivedData/primus/Build/Products/Debug-iphonesimulator:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks" 

Приложение уже установлено на симуляторе к этому моменту, и симулятор работает, и я запускаю:

 xcrun simctl launch booted uk.co.company.ios.app -NSTreatUnknownArgumentsAsOpen NO -ApplePersistenceIgnoreState YES -XCTest All 

Приложение запускается и из журнала симулятора я вижу, что пакет XCTest загружается, но тесты не запускаются. Я вышел из системы, где он, кажется, остановился, и есть частный метод _checkForTestManager , а именно _checkManagerForDaemonStateAndConnectIfAvailable . Из того, что я могу сказать, XCTest пытается подключиться к testmanagerd но не работает. Поэтому я попробовал testmanagerd kickstarting testmanagerd на симуляторе, используя:

 xcrun simctl spawn booted launchctl kickstart system/com.apple.testmanagerd 

Но это, похоже, не влияет на работу тестов, но я вижу некоторые дополнительные выходные данные в журнале симулятора:

 testmanagerd[41610]: Received new test session connection (-[XCTestManager listener:shouldAcceptNewConnection:]) testmanagerd[41610]: Initial orientation 0 testmanagerd[41610]: Test session <__NSConcreteUUID 0x7fd2bb804a00> 7025D700-AA6C-4343-9C7A-92F9CC3A1C42 requested socket (-[XCTestSession _XCT_requestSocketForSessionIdentifier:reply:]) testmanagerd[41610]: Test session <__NSConcreteUUID 0x7fd2bb804a00> 7025D700-AA6C-4343-9C7A-92F9CC3A1C42 requested socket (__57-[XCTestManager requestSocketForSessionIdentifier:reply:]_block_invoke) testmanagerd[41610]: -[XCTestManager _handleRequestForSessionWithIdentifier:] 

Но ничего после этого. По сравнению с использованием Xcode:

 testmanagerd[41309]: Test session <__NSConcreteUUID 0x7fd162b016a0> 64B7815C-A0A2-4213-9A5E-E0BB0139F35A requested socket (-[XCTestSession _XCT_requestSocketForSessionIdentifier:reply:]) testmanagerd[41309]: Test session <__NSConcreteUUID 0x7fd162b016a0> 64B7815C-A0A2-4213-9A5E-E0BB0139F35A requested socket (__57-[XCTestManager requestSocketForSessionIdentifier:reply:]_block_invoke) testmanagerd[41309]: -[XCTestManager _handleRequestForSessionWithIdentifier:] testmanagerd[41309]: Closing IDE connection before sending socket 8 to test host. testmanagerd[41309]: -[XCIDESession closeIDEConnection:] sending barrier testmanagerd[41309]: barrier flushed, closing DTXConnection to IDE, socket will not be closed testmanagerd[41309]: Socket disconnected testmanagerd[41309]: __33-[XCTestManager closeIDESession:]_block_invoke <XCIDESession: 0x7fd160514d80> testmanagerd[41309]: Considering exiting, 1 test sessions, 0 sessions with identifiers, 0 unidentified sessions... assertiond[39075]: assertion failed: 14F1021 13B137: assertiond + 12188 [93FFE0B6-5C27-387F-B32A-6EE378BBB22A]: 0x1 testmanagerd[41309]: Sending socket 8 to test host testmanagerd[41309]: __33-[XCTestManager closeIDESession:]_block_invoke <XCIDESession: 0x7fd160514d80> testmanagerd[41309]: Considering exiting, 1 test sessions, 0 sessions with identifiers, 0 unidentified sessions... testmanagerd[41309]: IDE connected over socket 7 (__47-[XCTestManagerIDEServer initWithListenSocket:]_block_invoke) testmanagerd[41309]: Created session with socket 7 testmanagerd[41309]: Handling a proxy request from the IDE testmanagerd[41309]: -[XCIDESession _IDE_initiateControlSessionForTestProcessID:] 41398 testmanagerd[41309]: Set control session <XCIDESession: 0x7fd160716f60> 

Можно ли запускать тесты через simctl таким образом?

  • Является ли использование генериков действительными в подклассах XCTestCase?
  • Почему XCTest дважды запускает тесты на 64-битных архитектурах?
  • Ошибка при выполнении модульных тестов в Xcode 5.0
  • Использование тестов интерфейса Xcode7 для создания скриншотов приложений для App Store
  • Как использовать XCTest для проверки того, не настроен ли плагин navigationBar на определенный цвет в объекте-C?
  • Настройте тестовый проект с помощью XCTest с двумя целевыми показателями для iOS и OSX и с помощью общих тестов модулей
  • Как запустить XCTest без запуска приложения?
  • XCTestExpectation - вызов метода async дважды приводит к нарушению API
  • Как запустить «единственный тестовый пример» в XCTest?
  • iOS Swift: отдельный AppDelegate для XCTest
  • Асинхронные тесты производительности с помощью XCTest
  • Interesting Posts

    Как добавить аннотацию к MKMapView с помощью MKPointAnnotation?

    Программирование IOS – асинхронный вызов json на Spring Batch server

    Кластеризация карт Skobbler

    UIScrollView не уважает minimumZoomScale после изменения подвью

    Изменение canDisplayBannerAds на NO не обновляет вид, чтобы удалить рекламный баннер

    Изображение индикатора выбора UITabBar не принимает весь размер высоты tabBar в ObjectiveC

    iOS перетаскивает объекты с инерцией

    Как остановить iOS от преобразования маленького указательного символа треугольника в прямоугольный треугольник с треугольником?

    Ужасно медленные программные векторы, в частности CoreGraphics vs. OpenGL

    Измените конкретный код UIWebView, чтобы иметь адресную строку, похожую на Safari

    Логика для перемещения текстового поля над клавиатурой

    Игнорировать специальное предупреждение в Xcode 6

    selectAnnotation метод Mapview не работает для iOS7

    UIAlertViewDelegate в отдельном приложении для сбоев класса

    Как отключить клавиатуру iOS?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.