Грешка в пространството на имената на Swift XCTest?

Чудя се дали съм открил грешка в пространството на имената / XCTest в Swift 1.2/XCode 6.4(6E23):

Имам .swift файл с публична функция encode, която приема няколко параметъра. Имам и файл XCTest за тестване на функцията encode.

Моят XCTest файл импортира добре кода ми – мога да извиквам публични функции от него и дори функцията, която ми създава проблеми, encode, се допълва добре автоматично, когато започна да го пиша. Въпреки това, когато се опитвам да го компилирам, виждам, че се проваля (с „Допълнителен аргумент при повикване“), защото компилаторът смята, че извиквам Foundation.encode, а не моя собствена.

Промяната на името му го кара да работи добре, но това не е важното, което е това; Предполага се, че Swift дава приоритет на вашия модул пред системния, така че това грешка ли е или пропускам нещо?


person Teo Sartori    schedule 19.05.2015    source източник


Отговори (1)


Едно нещо, което може да е проблемът, е следното:

Swift файлът, в който е деклариран encode, има ли Target Membership зададен както на вашия тестов пакет, така и на вашия основен пакет? Ако не, изберете swift файла и в дясното меню, под Target Membership, изберете и вашия тестов пакет (трябва да има отметка).

person BHendricks    schedule 22.05.2015
comment
Така е и, уви, няма разлика. Имам фиктивен проект, който демонстрира проблема тук - person Teo Sartori; 23.05.2015
comment
Подадох радар за това тук - person Teo Sartori; 23.05.2015