<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hello Community,<div class=""><br class=""></div><div class="">I’m working on adding iOS platform support for SwiftXCTest. So I’ve have the following proposals and would like to hear feedback from the community.</div><div class=""><ol class=""><li class="">SwiftXCTest runs the tests in a way `XCTMain([ testCase(TestFoo.allTests) ])`. XCTMain supports only Linux / FreeBSD / macOS. So I suggest introducing an API that will provide a similar way of running tests as XCTMain, but in a case using SwiftXCTest as a framework e.g. on iOS. It could be the same logic that just returns exit code, when XCTMain just exits with this code.</li><li class="">The suggestion above (number 1) is good, but too simple for using SwiftXCTest as a framework, since we only have exit code and debug logs. So my second proposal is providing mechanism of initialising root test suite with array of testCases (array of XCTestCaseEntry objects) with the same structure that XCTMain does. This isn’t possible now since XCTestCaseSuite class that is used to initialise root test suite (see XCTMain.swift line 80) is internal.</li><li class="">This proposal is because Swift has very poor reflection at the moment. So I suggest creating a generator (pre-build script) for Swift test cases that for example is able analysing concrete folder with swift files and generate e.g. TestCases.swift file. This script is intended to be used manually.</li></ol></div><div class="">Looking forward to any feedback.</div><div class=""><br class=""></div><div class="">Ilya</div></body></html>