2017-01-01 8 views
1

Я практикую TDD, и я столкнулся с очень простой ошибкой сразу, но не могу понять, почему. Это первый единичный тестовый пример проекта, и он не будет компилироваться, когда я думаю, что у меня есть все на своем месте, как ожидалось.Ошибка теста модуля говорит, что аргумент не соответствует доступным перегрузкам

Код тест блока гласит:

import XCTest 
@testable import PassionProject 

class ToDoItem: XCTestCase { 

    override func setUp() { 
     super.setUp() 
     // Put setup code here. This method is called before the invocation of each test method in the class. 
    } 

    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_Init_TakesTitle(){ 
     ToDoItem(title: "Instance Ones Title") 

    } 
} 

И модель на месте, создав класс ToDoItem в правильной цели, что код гласит:

struct ToDoItem { 

    let title: String 

} 

После поиска StackOverflow других ответов разрешите эту ошибку, указав, что имя параметра указано для Swift 3, а другие примеры в stackoverflow - для функций, возвращающих тип. В этом примере я не возвращаю тип и имя параметра отображается при создании экземпляра. Может ли кто-то указать мне в сторону, чтобы узнать, что я сделал неправильно, а во-вторых, что означает Xcode, говоря «любые доступные перегрузки»? Мой онлайн-поиск показал учебники по перегрузкам функций, но структура не является функцией, верно?

Благодарим вас за любые объяснения, чтобы понять, что именно говорит Xcode именно в этом примере.

ответ

3

Вы используете одно и то же имя ToDoItem для двух отдельных вещей: тестового набора и тестируемой системы.

Переименуйте свой тестовый набор. Например: ToDoItemTests