В настоящее время я создаю набор тестов в рабочей области Xcode, которая содержит 3 существующих проекта.2 Приложения проектов и общий рамочный проект.Оба приложения очень похожи в отношении пользовательского интерфейса с некоторыми незначительными отличиями.
Я пытаюсь найти способ поделиться платформой XCUITest, которую я сделал для Приложение A с Приложение B .
В настоящее время App A имеет цель теста, установленную внутри его AppA.xcodeproj.Все тесты App A работают отлично и просты в обслуживании.Мне нужно расширить это до App B и рефакторинга Framework A приложения только для битов App A, так что App A и App B может совместно использовать базовую кодовую базу XCUITest из центральной базы.
Я попытался создать новый проект, переместить код теста пользовательского интерфейса и указать новую цель теста пользовательского интерфейса на исполняемый файл приложения A , но я не мог понять, как его получить.возможность показать.Я установил приложение App A в качестве целевой зависимости на тестовой цели нового проекта> вкладка «Фазы сборки», но не повезло.Мне удалось установить цель App A в схеме новой цели тестирования, но все равно возникла ошибка.
Assertion Failure: CommonBasePage.swift:21: failed: caught "NSInternalInconsistencyException",
"No target application path specified via test configuration: <XCTestConfiguration: 0x60400014e910>
testBundleURL:file:///Users/user.name/Library/Developer/Xcode/DerivedData/.../Debug-iphonesimulator/NewTestTarget-Runner.app/PlugIns/NewTestTarget.xctest/
testBundleRelativePath:(null)
productModuleName:NewTestTarget
testsToSkip:(null)
testsToRun:NewBasePage/testExample
reportResultsToIDE:YES
sessionIdentifier:<>
pathToXcodeReportingSocket:(null)
disablePerformanceMetrics:no
treatMissingBaselinesAsFailures:no
baselineFileURL:(null)
baselineFileRelativePath:(null)
targetApplicationPath:(null)
targetApplicationBundleID:(null)
testApplicationDependencies:
{...
Я предполагаю targetApplicationPath: (null), targetApplicationBundleID:(null) должен иметь допустимые целевые значения, но я не уверен, где еще искать, чтобы установить их.
Я отказался от этого и попытался создать новый проект и цель в качестве Cocoa Touch Framework, чтобы переместить общий код в центральную точку, но не смог импортировать XCTest, от которого зависит моя среда для XCUIApplication иПоля XCUIElement.
import XCTest //Causes "Cannot load underlying module for 'XCTest'"
Я пытался добавить XCTest.framework к целевому разделу «Связать двоичные файлы с библиотеками» на этапах сборки, но безуспешно.
Есть ли способ работы с платформой XCTest за пределами цели тестирования?
ИЛИ
Есть ли способ указать цель тестирования одного проекта на цель приложения другого проекта?