2017-01-05 13 views
1

Работа с XCTest. Во время тестирования TestResults сохраняются в TestSummaries.plist на пути:Как записывать журналы сбоев во время тестирования: XCTest?

/Users/смрити/Library/Developer/Xcode/DerivedData/PROJECT_NAME/Журналы/Test/

Может кто-нибудь сказать, как прочитать содержимое TestSummaries .plist-файл из вышеуказанного пути?

нужно захватить данные результата (MSG ошибки, тестовый случай, номер строки) из файла выше и писать, чтобы преуспеть в функции Teardown()

Пробовал с помощью

  1. NSSearchPathForDirectoriesInDomains (.AllLibrariesDirectory , .AllDomainsMask, true) -> Не дает желаемого пути.

  2. NSBundle.mainBundle дает путь к "PROJECT_NAME/Сложение/Продукты /" не "/ PROJECT_NAME/Журналы/Test /"

ответ

1

Вы должны были бы написать пост-тестовый скрипт, чтобы экспортировать поскольку файл TestSummaries.plist недоступен до завершения тестового прогона.

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

+0

Искл. Мы не можем экспортировать результаты тестов для текущего теста до вызова tearDown(). Файл TestSummaries.plist содержит данные результатов теста для предыдущих тестовых прогонов. Спасибо, что ответили – Smriti10

+0

@Oletha. Знаете ли вы, что можно получить доступ к TestSummaryGUID, который будет связан с тестовым примером в plist в методе tearDown(), чтобы журналы и тестовые примеры могли быть связаны позже? –

+0

Извините, @TitouandeBailleul Я не знаю, откуда эта ценность – Oletha

0

Найден другой способ сбора данных результатов испытаний.

функ recordFailureWithDescription (описание: String, входной_файл Filepath: String, ATLINE LINENUMBER: UInt, ожидается: Bool)

Над функцией будет вызываться каждый раз, когда происходит сбой во время выполнения теста и даст необходимо детали (описание ошибки, имя файла, номер строки), которые могут быть записаны в файл.