Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用XCTest框架测试基于REST的本机iOS应用程序?_Ios_Unit Testing_Xctest - Fatal编程技术网

如何使用XCTest框架测试基于REST的本机iOS应用程序?

如何使用XCTest框架测试基于REST的本机iOS应用程序?,ios,unit-testing,xctest,Ios,Unit Testing,Xctest,尝试检查如何为使用REST web服务的应用程序使用XCTest框架。但是没有找到任何好的完整的示例教程 我对XCTest只有一些基本概念,但对如何将XCTest与REST应用程序结合使用感到困惑 谁能给我举几个例子说明如何使用这个。我只需要想法和方向,然后我就可以走了 注意:如果应用程序是一个基本应用程序,我知道,但我的困惑仅限于基于REST的iOS应用程序测试。我使用xTestExpection测试基于REST协议的客户机-服务器通信。 下面是一个高级示例: - (void)testCrea

尝试检查如何为使用REST web服务的应用程序使用XCTest框架。但是没有找到任何好的完整的示例教程

我对XCTest只有一些基本概念,但对如何将XCTest与REST应用程序结合使用感到困惑

谁能给我举几个例子说明如何使用这个。我只需要想法和方向,然后我就可以走了


注意:如果应用程序是一个基本应用程序,我知道,但我的困惑仅限于基于REST的iOS应用程序测试。

我使用
xTestExpection
测试基于REST协议的客户机-服务器通信。
下面是一个高级示例:

- (void)testCreatingUserRequest {
    // Initialize necessary objects
    RestManager *restManager = ...
    CreatingUserRequest *request = ...

    // Execute test
    XCTestExpectation *expectation = [self expectationWithDescription:@"Create User"];

    [restManager createUserWithRequest:request completionHandler:^(NSDictionary *JSONObject, NSError *error) {
        XCTAssertNotNil(JSONObject);
        XCTAssertNotNil([User userWithJSONObject:JSONObject]);
        XCTAssertNil(error);

        [expectation fulfill];
    }];

    [self waitForExpectationsWithTimeout:30 handler:^(NSError *error) {
        XCTAssertNil(error);
    }];
}
本测试涵盖以下预期情况:
1.服务器必须在30秒或更短时间内返回响应
2.服务器必须返回带有有效响应代码的有效JSON对象
3.JSON对象必须具有正确的结构才能映射到用户对象