Я имел хороший успех с помощью Mockito.
, Когда я пытался узнать о JMock и EasyMock, я нашел, что кривая обучения была немного крута (хотя, возможно, это - просто я).
мне нравится Mockito из-за его простого и чистого синтаксиса, который я смог схватить довольно быстро. Минимальный синтаксис разработан для поддержки общих падежей очень хорошо, хотя несколько раз я должен был сделать что-то более сложное, я нашел то, что я хотел, поддерживался и легок схватить.
Вот (сокращенный) пример от домашней страницы Mockito:
import static org.mockito.Mockito.*;
List mockedList = mock(List.class);
mockedList.clear();
verify(mockedList).clear();
Это не становится намного более простым, чем это.
единственная главная оборотная сторона, о которой я могу думать, - то, что это не будет дразнить статические методы.
По словам Дэйва Делонга,
Это означает, что у него проблемы с синтаксическим анализом вашего файла.
Я думаю, что это может быть ссылка XSLT в XML - поскольку она указывает на веб-сервер. Я рассмотрю этот вопрос и вернусь к нему с улучшенным ответом.
Это был путь к файлу. Мой код даже не был близок к нужному месту - и мне не хватало завершающей буквы «s». Определение кода ошибки подразумевает «преждевременный конец файла», из-за которого я безуспешно усекал свой файл. Затем я вернулся к основам и провел итерацию в файловой системе, чтобы найти свой файл.
Я отладил с помощью NSFileManager для итерации моего файла, а затем подтвердил, что он загружается с помощью метода contentsAtPath . Я смог сбросить его с помощью NSLog (). Убедившись, что файл правильно сформирован и загружен в необработанном виде, я убедился, что мой NSURL создан с использованием того же синтаксиса и методов. Потом правильно загрузился. Теперь я могу загрузить либо «полнофункциональный» контент из сетевого файла, либо локальный «образец» контента.
NSDirectoryEnumerator *dirEnumerator = [[NSFileManager defaultManager] enumeratorAtPath: NSHomeDirectory()];
NSString *something;
NSString *f;
while( something = [dirEnumerator nextObject] ) {
f = [[[NSString alloc] initWithFormat: @"%@/%@", NSHomeDirectory(), something] autorelease];
if( [f hasSuffix :@"two_cookies.xml"] ){
NSData *nsData = (NSData*) [[NSFileManager defaultManager] contentsAtPath: f];
NSLog(@"%@", nsData );
}
}
Вывод
2009-10-22 00:47:40.147 MyApp[13843:20b] <?xml version="1.0" encoding="iso-8859-1"?>
PS Я надеюсь, что мои подробности здесь будут полезны другим, поскольку они отлаживают свою обработку данных.
Parser Error Constants
The following error types are defined by NSXMLParser.
typedef enum {
NSXMLParserPrematureDocumentEndError = 5
И объяснение ошибки:
NSXMLParserPrematureDocumentEndError
The document ended unexpectedly.
Available in Mac OS X v10.3 and later.
Declared in NSXMLParser.h.