如何使用swift和xctest框架识别JSON对象?

时间:2015-06-29 19:45:30

标签: ios swift xctest xctestexpectation

使用NSJSONSerialization.JSONObjectWithData(..)我们可以创建一个JSON对象。但是有可能识别对象类型即。它是否是一个JSON对象。

我只是想尝试使用Swift和XCTestFramework进行检查。我尝试了不同的方法,但仍然没有解决方案?

注意:创建JSON对象后,我可以获取值,也可以检查值。 XCTest Framework可以很好地测试这些类型的东西。但是,我坚持要确定对象类型。

任何人都知道如何使用Swift和XCTest框架以编程方式识别JSON对象

Update:例如,对于网站测试,我们可以执行以下操作:

if let HTTPResponse = response as? NSHTTPURLResponse,
                responseURL = HTTPResponse.URL,
                MIMEType = HTTPResponse.MIMEType
{
  XCTAssertEqual(responseURL.absoluteString, URL.absoluteString, "HTTP response URL should be equal to original URL")
  XCTAssertEqual(HTTPResponse.statusCode, 200, "HTTP response status code should be 200")
  XCTAssertEqual(MIMEType, "text/html", "HTTP response content type should be text/html")
            } else {
                XCTFail("Response was not NSHTTPURLResponse")
            }

JSON有可能像上面那样吗?

1 个答案:

答案 0 :(得分:1)

如果在NSData参数中获得了有效的字符串,但该String不是有效的JSON对象,则解析器将抛出错误。从documentation开始:

如果发生错误,则返回时包含一个描述问题的NSError对象。

因此检查返回的对象是否实际上是NSError。如果你没有收到错误,那么我会安全地假设该对象确实是一个有效的JSON对象。