繁体   English   中英

在Objective-C中模拟对象时,ResourceFetcher是什么?

[英]What is ResourceFetcher in mocking an object in objective-C?

我正在跟踪乔恩·里德的这段视频 我一直遵循他的所有代码,直到出错为止。 我不知道ResourceFetcher在哪里定义,为什么这对我不起作用! 这是代码:

在ViewController中:

-(void) fetchResources
{

    NSString *string = [NSString stringWithFormat:@"%@weather.php?format=json", BaseURLString];



    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    [manager GET:string
      parameters:nil
         success:^(AFHTTPRequestOperation *operation, id responseObject){
             NSLog(@"%@",(NSDictionary *)responseObject);
         }
         failure:^(AFHTTPRequestOperation *operation, NSError *error){

             NSLog(@"Error in retrieve data");

         }
     ];
}

在MockAFNetworkingGET中:

@implementation MockAFNetworkingGET



-(AFHTTPRequestOperation *) GET : (NSString*) URLString
                            parameters:(NSDictionary *)parameters
                            success:(void (^)(AFHTTPRequestOperation * operation, id respondObject)) success
                            failure:(void (^)(AFHTTPRequestOperation * operation, NSError *error))failure
{


    self.callCount += 1;

    self.URLString = URLString;
    self.parameters = parameters;
    self.success = success;
    self.failure = failure;

    return self.fakeReturnValue;

}


@end

在ResourceFetcherTests中:

#import <XCTest/XCTest.h>
#import "MockAFNetworkingGET.h"
#import "ViewController.h"

@interface ResourceFetcherTests : XCTestCase

@end

@implementation ResourceFetcherTests




-(void) testFetchResources_shouldCallGet
{
    id mockGet = [[MockAFNetworkingGET alloc]init];
    ResourceFetcher *sut = [[ResourceFetcher alloc] initWithGETManager:mockGet];
    //ResourceFetcher is not existing and giving me compiler error!!

}

@end

我已经从教程中复制并粘贴了所有代码。 ResourceFetcher在这里未知。 我谷歌,但什么都没有! 它是内置库吗?还是需要在某个地方定义它或导入一些库?

这是幻灯片的链接:

https://speakerd.s3.amazonaws.com/presentations/dbce1540217c01328c641a1ab62a9337/Controlling_Dependencies_4-3.pdf

ResourceFetcher是包含fetchResources方法的fetchResources系统的名称。 这只是课程的虚构名称。 (顺便说一下,避免在视图控制器中直接进行网络调用。)请随时与我联系,以获取有关我的东西的问题。 这实际上不适用于StackOverflow。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM