123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import XCTest
- import class Foundation.Bundle
- final class StringsConvertorTests: XCTestCase {
- func testExample() throws {
- // This is an example of a functional test case.
- // Use XCTAssert and related functions to verify your tests produce the correct
- // results.
- // Some of the APIs that we use below are available in macOS 10.13 and above.
- guard #available(macOS 10.13, *) else {
- return
- }
- let fooBinary = productsDirectory.appendingPathComponent("StringsConvertor")
- let process = Process()
- process.executableURL = fooBinary
- let pipe = Pipe()
- process.standardOutput = pipe
- try process.run()
- process.waitUntilExit()
- let data = pipe.fileHandleForReading.readDataToEndOfFile()
- let output = String(data: data, encoding: .utf8)
- XCTAssertEqual(output, "Hello, world!\n")
- }
- /// Returns path to the built products directory.
- var productsDirectory: URL {
- #if os(macOS)
- for bundle in Bundle.allBundles where bundle.bundlePath.hasSuffix(".xctest") {
- return bundle.bundleURL.deletingLastPathComponent()
- }
- fatalError("couldn't find the products directory")
- #else
- return Bundle.main.bundleURL
- #endif
- }
- static var allTests = [
- ("testExample", testExample),
- ]
- }
|