«Неопределенные символы для архитектуры x86_64» при тестировании проекта командной строки macOS в Xcode 9.3 - PullRequest
0 голосов
/ 26 сентября 2018

Я разрабатываю приложение для командной строки для macOS, и у меня возникает следующая проблема: у меня есть следующий тестовый пример в Xcode

import XCTest
@testable import Assembler

class ParserTests: XCTestCase {

override func setUp() {
    super.setUp()
}

override func tearDown() {
    // Put teardown code here. This method is called after the invocation of each test method in the class.
    super.tearDown()
}

func test_commandType_returnRightTypeForAcommands() {
    let parser = Parser()

    // Invocation
    let commandType = "A_COMMAND"

    // Assertion
    XCTAssertEqual(commandType, "A_COMMAND")
}

}

И это класс Parser:

import Foundation

class Parser {

    func commandType(for command: String) -> String {
        return "A_COMMAND"
    }

}

Когда я запускаю тесты, появляется следующая ошибка компиляции:

Undefined symbols for architecture x86_64:
  "Assembler.Parser.__allocating_init() -> Assembler.Parser", referenced from:
      AssemblerTests.ParserTests.test_commandType_returnRightTypeForAcommands() -> () in AssemblerTests.o
  "type metadata accessor for Assembler.Parser", referenced from:
      AssemblerTests.ParserTests.test_commandType_returnRightTypeForAcommands() -> () in AssemblerTests.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Что происходит?

...