Jestem nowicjuszem w Objective-C i XCode i uważam, że jestem intelektualnie zakwestionowany podczas omawiania ogólnie dostępnych języków. Nie mam pojęcia, jak działają łączniki, a ilość ustawień kompilacji w każdym IDE, z którym miałem dyskomfort w pracy, po prostu mnie przeraża."Niezdefiniowane symbole dla architektury x86_64" podczas konfigurowania bardzo prostego testowania jednostek dla aplikacji konsolowej
Zacząłem uczyć się ObjC kilka dni temu i oczywiście zacząłem od projektu aplikacji konsolowej. Do tej pory wszystko jest w porządku, ale mam tło Ruby/Rails, które sprawiło, że chcę od razu zrozumieć, jak skonfigurować nawet najbardziej podstawowe środowisko TDD w XCode5.
Użyłem tego official dev doc, ale jest to mniej niż dokładne. Biorąc prób i błędów ścieżkę po prostu dodaje cel XCTest do Projektu, a następnie dodał Przypadek Testowy Class, testując moją Fraction
Klasa:
#import <XCTest/XCTest.h>
#import "Fraction.h"
@interface FractionTest : XCTestCase
@end
@implementation FractionTest
- (void)setUp
{
[super setUp];
}
- (void)tearDown
{
[super tearDown];
}
- (void)testExample
{
Fraction *fraction = [Fraction new];
}
@end
Podczas uruchamiania testów linker nie może znaleźć odwołuje symbole:
Czytałem o konfigurowaniu ładowarek pakietów i hostów testowych, ale nikt naprawdę nie wyjaśnia, do którego celu należy je włączyć. Nie działają one dla mnie i zastanawiam się, czy tak prosty, 3-plikowy duży "projekt" wymaga nawet poprawienia ustawień kompilacji.
Jak mogę po prostu dodać klasę testów, która przetestuje inną klasę za pomocą prostych twierdzeń?
Okazało się, że ta odpowiedź pomogła mi tak, że nie trzeba ustawić cel dla każdego z moich plików. http://stackoverflow.com/questions/18266649/xctest-build-errors-for-test-target-xcode-5/24390619#24390619 –
@RrRogers ratuje życie, oczywiście symbole nie są znalezione, jeśli są ukryte ... – Jakehao