Skip to main content

Logic Tests (aka Unit Tests) and Application Tests (aka Integration Tests) with Jenkins and xcode

Motivation

Apple Developer: About Unit Testing

Logic Tests

  1. Apple Developer: Setting Up Unit-Testing in a Project
  2. Download convert OCUnit command line output to JUnit XML: OCUnit2JUnit and put it in your project
  3. Setup Freestyle project in Jenkins
  4. Add Execute shell step:
    • chmod +x ./pathtoscript/ocunit2junit.rb
    • xcodebuild -target myTarget -configuration myConfig -sdk iphonesimulator clean build | ./pathtoscript/ocunit2junit.rb
  5. Add post build action Publish JUnit Test Results with location:
    • test-reports/*.xml

Application Tests

  1. Apple Developer: Setting Up Unit-Testing in a Project
  2. Download the patched RunPlatformUnitTests script and put in your project
  3. Open the Build Phases - Run Script setting and change script path to "${PROJECT_DIR}/pathtoscript/RunPlatformUnitTests"
    • Download convert OCUnit command line output to JUnit XML: OCUnit2JUnit and put it in your project
    • Setup Freestyle project in Jenkins
    • Add Execute shell step:
      • chmod +x ./pathtoscript/ocunit2junit.rb
      • xcodebuild -target myTarget -configuration myConfig -sdk iphonesimulator TEST_AFTER_BUILD=YES clean build | ./pathtoscript/ocunit2junit.rb
    • Add post build action Publish JUnit Test Results with location:
      • test-reports/*.xml

    UI Automation Tests

    Upcoming...

    Comments

    Most Favorite Posts

    Judo App - Server Driven UI out of the box

    Judo App Judo brings server-driven UI to your iOS and Android apps. Build user interfaces visually in a fraction of time and publish them instantly without submitting to the app store. Build Experiences - With No Code The Judo app for macOS, available through the App Store, is built for design professionals with common keyboard shortcuts and familiar concepts like canvas, layers and inspector panel. Workflow is streamlined with the ability to drag and drop media files directly into your experiences and manage your own Judo files in Finder. Manage Creative Execution A Judo experience is interactive and can include text, images, video and buttons. An experience may be part of a screen, a single screen, or more typically multiple linked screens. Judo supports screen transitions, carousels, horizontal scrolling and modals. Clients can add custom fonts and define global colors and these are updates applied universally. Effortlessly Deploy Judo Cloud syncs your experiences with your iOS and ...

    Flip4Mac

    Flip4Mac WMV Components allow you to import, export and play Windows Media video and audio files on your Mac. Flip4Mac WMV export components can be used with QuickTime Pro, Final Cut Pro, Compressor, and iMovie 06 (iMovie '08 and '09 not supported). Flip4Mac
    LazyPages is a highly customizable library that helps you to show a scrollable list of view controllers synchronized with an index. It is written in Swift 2.2 for iOS 8+. Like Scrollable Tabs in Android. GitHub

    TestFlight

    iOS beta testing on the fly Free over-the-air beta distribution TestFlight