2016-12-20 2 views
2

Я создал простую структуру UITesting для одного из моих приложений, встроенных в Xcode. 2 испытаний проходят и один целенаправленно не удается:Запуск Xcodes UITesting на Jenkins никогда не сработает тест

XCTAssertTrue(false) 

Я использую плагин Дженкинс Xcode и я использую пост встроенных действия: Публикацию отчета о результатах теста JUnit.

Дженкинс успешно запускает симулятор и выполняет все 3 теста. Он также успешно подхватывает неудачу в журналах:

Failing tests: 
-[LightAlarmUITests testFailingTest()] 
** TEST FAILED ** 

Однако результаты испытаний Analyzer (плагин) показывает все 3 теста проходят. . Когда я проверить тест-результаты/* XML-файл я вижу следующее:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<testsuite failures="1" errors="0" hostname="Charlies-MacBook-Pro.local" name="LightAlarmUITests" tests="3" time="21.0" timestamp="2016-12-20T16:24:33.125Z"> 
<testcase classname="LightAlarmUITests" name="testFailingTest" time="6.372"/> 
<testcase classname="LightAlarmUITests" name="testShowSettingsPage" time="7.167"/> 
<testcase classname="LightAlarmUITests" name="testShowSoundAlarmsPage" time="7.594"/> 
</testsuite> 

Как вы можете увидеть в XML, это не маркировка отдельных тестовых случаев, как пройти или потерпеть неудачу, но вместо маркировки отказ от весь комплект тестов.

Кто-нибудь знает, как отмечать пропуск/отказ от отдельных тестовых случаев?

ответ

4

Чтобы устранить эту проблему, имеется запрос на разрыв.

https://github.com/jenkinsci/xcode-plugin/pull/75

+0

Спасибо Skycamefalling. В нем говорится, что я должен подождать час, чтобы дать щедрость, чтобы я вернулся. Я провел дни, работая над этим, поэтому очень ценю вашу помощь здесь :) –

+0

Нет проблем! Некоторое время мы рассматривали ту же проблему. – Skycamefalling

+0

Я сейчас прекратил использовать Jenkins с UITesting. Ошибка, которая ложно проходит каждый тест, вероятно, является одной из худших вещей, которые может сделать Дженкинс, ИМХО. Не рассматривая запрос на тягу в течение нескольких месяцев, который исправляет эту ошибку, вероятно, является второй худшей вещью. –

0

Причиной этого является Xcode 8 изменили способ XML отчета испытаний UI. Плагин JUnit не способен анализировать этот XML для создания отчета об испытаниях. Я использовал XCPretty посредник, который преобразует XML-отчет Xcode 8 в поддерживаемый JUnit XML. Вы можете найти более подробную информацию на https://blog.talentica.com/2017/04/04/use-xcode-8-with-jenkins/

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

  • Нет связанных вопросов^_^