Я делаю поблочное тестирование на своем приложении для iPhone с помощью OCUnit на XCode 3.2.3 и iOS 4.0. Я успешно настроил свою тестовую среду, чтобы передать и провалить базовые тесты соответственно, но когда я импортирую свои собственные файлы (в этом случае, "UserAccount.h", она не удается скомпилировать и говорит мне:
"$ _OBJC_CLASS_ _UserAccount", ссылаемый от:
Это затем говорит "Символ (символы), не найденный". Это кажется мне своего рода ошибкой компоновщика, но я понятия не имею, что продолжается. Я создал и убрал все цели многочисленные времена, но напрасно. Вот мой код тестирования:
#import "SomeTestCase.h"
#import "UserAccount.h"
@implementation SomeTestCase
- (void)testUserAccount
{
// UserAccount.m //
UserAccount *testAccount = [[UserAccount alloc] initWithUsername:@"" password:@"" deviceToken:@""];
[testAccount registerNew];
NSLog(@"USERID = %@", testAccount.userID);
STAssertEquals([testAccount login], NO, @"Failure: Login should fail with blank username and password."); // should fail with no username or password
UserAccount *testAccount2 = [[UserAccount alloc] initWithUsername:@"user" password:@"" deviceToken:@""];
STAssertEquals([testAccount2 login], NO, @"Failure: Login should fail with blank password.");// should fail with no password
UserAccount *testAccount3 = [[UserAccount alloc] initWithUsername:@"" password:@"pass" deviceToken:@""];
STAssertEquals([testAccount3 login], NO, @"Failure: Login should fail with blank username.");// should fail with no password
}
@end
Любой совет значительно ценился бы.Спасибо!
- Матовый
Я предполагаю, что UserAccount.m не был добавлен в цель тестирования. Это вызовет ошибку «Символы не найдены». Я видел случаи с несколькими целями, в которых Xcode распознает заголовки, даже если файл реализации не является частью цели.
Если это не сработает, попробуйте очистить кеш Xcode с помощью Xcode> Empty Caches ...
.