Я впервые запускаю свои модульные тесты в Xcode 7 после рефакторинга своего кода Swift для 2.0 и исправления всех различных новых предупреждений и ошибок компилятора. Однако я вижу несколько разных поведений, которые, вероятно, все связаны.
- По завершении модульных тестов я получаю файл
gcda
для каждой системной структуры, с которой я связываюсь, сбрасываемой в корневой каталог моего проекта (например,QuartzCore.gcda
,CoreData.gcda
). - Я получаю длинный список следующих ошибок:
#P2#
Наконец, я получаю исключение
EXC_BAD_ACCESS
с этой трассировкой стека:#0 0x0000000105cf06b4 in llvm_gcda_emit_function () #1 0x0000000105845c0a in __llvm_gcov_writeout () #2 0x0000000105cf18e4 in llvm_writeout_files () #3 0x00007fff9641271b in __cxa_finalize_ranges () #4 0x00007fff96412a30 in exit () #5 0x0000000100056e9f in ___XCTestMain_block_invoke () #6 0x000000010000e7c9 in -[XCTestDriver _runSuite] () #7 0x000000010000f31a in -[XCTestDriver _checkForTestManager] () #8 0x0000000100056c69 in _XCTestMain () #9 0x0000000100001dc9 in ___lldb_unnamed_function3$$xctest () #10 0x00007fff9098d5c9 in start () #11 0x00007fff9098d5c9 in start ()
У меня включены Включить поддержку покрытия кода и Создать файлы покрытия устаревших тестов, хотя я пробовал переключать последнее, и это не имело никакого значения. Я использую Xcode 7.1 на OS X 10.10.5.
Включение Сбора данных о покрытии для схемы казалось, помогло решить проблему № 3, но затем проблема вернулась.