Сбой теста в [[MyObject alloc] init] - PullRequest
1 голос
/ 15 июня 2011

У меня есть подкласс UITextView, который соответствует протоколу UIKeyInput. Поэтому я написал несколько логических тестов. У меня нет ошибок, и все остальные тесты выполняются хорошо, но когда предполагается создание объекта myTextView:

MyTextView *myTextView = [[MyTextView alloc] initWithFrame:frame];

тест останавливается, (как точка останова) не будет продолжаться

Интересно, почему это? Возможно, объекты MyTextView не могут быть созданы в логических тестах? Нужно ли здесь тестировать приложение? Если это так, то каково правило?

ДОБАВЛЕНО

Это один из тестов: (у меня есть еще пара, но все они останавливаются на первой строке)

    - (void)testHasText{
    MyTextView *myTextView = [[MyTextView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
    [myTextView setText:@"some text"];
    STAssertTrue([myTextView hasText], @"hasText failed: It has text!");
    [myTextView setText:@""];
    STAssertFalse([myTextView hasText], @"hasText failed: It it empty!");
    [myTextView release];

}

Это реализация в MyTextView:

- (BOOL)hasText{
    return [[self text] length]>0?YES:NO;
}

Я прокомментировал другие методы в MyTextView, оставив только три, связанные с UIKeyInput.

Также я добавил MyTextView.m в список источников компиляции в цели LogicTests. Может ли это быть проблемой конфигурации, даже если я не получаю сообщение об ошибке или предупреждение компоновщика?

Ответы [ 2 ]

1 голос
/ 15 июня 2011

Логические тесты, которые выполняются только в наборах тестов, не могут использовать элементы пользовательского интерфейса.Для этого вам необходимо создать тест приложения.

Я могу порекомендовать взглянуть на FoneMoneky от Gorilla Logic для выполнения тестов, связанных с пользовательским интерфейсом.Это позволит вам также проверить фактический пользовательский интерфейс в модульных тестах.

0 голосов
/ 15 июня 2011

У вас есть одна ссылка на wmTextView, которая, кажется, не существует.Это будет первое, что я проверю.

Второе, что будет в прошлом: UIKit и модульное тестирование

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...