How can I run XCTest for a swift application from the command line?

John Paul Ashenfelter picture John Paul Ashenfelter · Jun 16, 2014 · Viewed 16.1k times · Source

I want to test drive some Swift examples using XCTest from the command line if possible.

import XCTest

class LeapTest : XCTestCase {

    func testVanillaLeapYear() {
      let year = Year(calendarYear: 1996)
      XCTAssertTrue(year.isLeapYear);
    }
}

I'd love to run it from the command line.

I already set Xcode to use the developer tools in the beta:

sudo xcode-select -s /Applications/Xcode6-Beta.app/Contents/Developer/

If I naively try and run it it goes like this

$ xcrun swift LeapTest.swift
LeapTest.swift:1:8: error: cannot load underlying module for 'XCTest'
import XCTest
       ^

Any way to run it directly from the CLI? Or do I have to create a Xcode project?

Answer

chourobin picture chourobin · Jun 21, 2014

I think the issue is you have your test.swift file under the main project's target membership. Make sure your swift test files belong to the Test target only.