- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚开始开发一个连接到 this URL 的应用程序并检索给定货币对的汇率。
我需要测试 HTTP 请求,最后学习了 Kiwi 和 Nocilla。但是,我对任何类型的测试都是全新的,并且没有很多关于 Nocilla 的信息可以帮助我开始。
我将所有 NSURLConnectionDataDelegate
和 NSURLConnectionDelegate
方法添加到我的单 View 应用程序的 ViewController
中,并存储从 URL 检索的数据在 @property (strong, nonatomic) NSMutableData *receivedData;
中。当我运行程序时,一切都按预期工作,但我无法通过我写的测试:
SPEC_BEGIN(URLConnectionSpec)
__block URLConnectionAppDelegate *app_delegate;
__block URLConnectionViewController *view_controller;
describe(@"URLConnection", ^{
beforeAll(^{
[[LSNocilla sharedInstance] start];
app_delegate = [[UIApplication sharedApplication] delegate];
[[app_delegate shouldNot] beNil];
view_controller = app_delegate.viewController;
});
afterAll(^{
[[LSNocilla sharedInstance] stop];
});
afterEach(^{
[[LSNocilla sharedInstance] clearStubs];
});
context(@"When testing", ^{
it(@"should do something", ^{
stubRequest(@"GET", @"http://rate-exchange.appspot.com/currency?from=USD&to=EUR&q=1");
[view_controller beginCommunication];
[[expectFutureValue([NSString stringWithUTF8String:[view_controller.receivedData bytes]]) shouldEventuallyBeforeTimingOutAfter(2)] equal:@"{\"to\": \"EUR\", \"rate\": 0.76610740799999999, \"from\": \"USD\", \"v\": 0.76610740799999999}"];
});
});
});
SPEC_END
对于这么长的代码片段,我深表歉意。
测试总是失败并显示此消息
URLConnection_WhenTesting_ShouldDoSomething] : 'URLConnection, When testing, should do something' [FAILED], expected subject to equal "{"to": "EUR", "rate": 0.76610740799999999, "from": "USD", "v": 0.76610740799999999}", got ""
我尝试将时间更改为甚至 10 秒,希望测试完成得太早,但我得到了相同的结果。我不知道为什么 'receivedData' 是空的。
如果有任何帮助,我将不胜感激
最佳答案
请参阅评论中的讨论:Kiwi 测试的整体结构看起来不错,Nocilla stubRequest
函数调用似乎没有产生测试预期的响应。
也许您可以使用 andReturnRawResponse
来设置预期的响应数据。像这样(假设我的 Nocilla 语法正确):
NSData *rawData = ...
stubRequest(...).andReturnRawResponse(rawData);
[view_controller beginCommunication];
[expectFutureValue([view_controller.receivedData bytes])
shouldEventuallyBeforeTimingOutAfter(2)] equal:rawData.bytes];
关于web-services - 使用 Kiwi/Nocilla 测试 HTTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17423089/
是否可以让 kiwi-tcms 测试用例在远程服务器上启动可执行文件以执行测试用例,如果可以,该怎么做? 最佳答案 简短的回答 - 不! 长答案: 您正在寻找的是某种测试运行程序或 CI 系统 - 将
我正在寻找一种方法来测试嵌套对象的属性。本质上,我有一个规范将验证我们从外部服务返回的结果。由于我不想为要测试的每个示例对服务进行无数次调用,因此在规范的开头发出一次请求,然后我们使用一组期望来验证响
我在我的规范文件中的 BEGIN_SPEC END_SPEC block 中定义了一些辅助 block ,我经常重复使用这些 block 。例如。断言某个对话框出现: void (^expectOkA
我有一些重复的规范,我想干掉。通用功能不适合移动到 beforeEach block 中。本质上,它是对象创建,12 个对象中的每一个对象有 4 行,我想将这 4 行变成一个函数调用。 我可以在 Ki
问题描述: 我已按照此网站上介绍的分步进行操作:https://kiwitcms.readthedocs.io/en/latest/installing_docker.html 运行docker-co
有没有一种方法可以强制在Kiwi测试中失败,即等同于XCTFail()。 我可以写类似 [@"" should] beNil] 那将永远失败,但我认为Kiwi必须对开发人员融入框架的意图更具表达力。
我从 kivy 开始在教程中玩,我在 Pong 教程的最后,想根据分数添加“获胜者”标签。 为了做到这一点,我设计了一个获胜者标签: : Label: font_size: 2
我想使用 XML-RPC 将我的 iPhone 应用程序的测试结果发布到我的 TestLink。 我用 Kiwi在我的项目中,现在我想得到测试的结果。我可以知道我的测试用例上的条件是否通过或失败? 最
我浏览了各种类模拟示例,如下所示: https://groups.google.com/forum/#!topic/kiwi-bdd/hrR2Om3Hv3I https://gist.github.c
我一直在寻找使用 PyGTK 的适用于 Python 的良好 MVC 框架。我看过 Kiwi但发现它有点欠缺,尤其是在使用 Gazpacho Glade 替代品时。 还有其他不错的桌面 Python
我正在努力找出在后台线程中测试与 Core Data 交互的最佳方法。我有以下类方法: + (void)fetchSomeJSON { // Download some json then p
这link演示如何使用 Kiwi 捕获模拟对象的参数。 有没有办法捕获静态方法调用的参数?在我看来,这只适用于实例方法。 最佳答案 考虑到相同的 message dispatching mechani
我需要以下方面的帮助:我正在为具有以下结构的客户端 API 编写一些 BDD 测试: @protocol MyAPIClientDelegate -(void)myCallbackMethod:
我有一个包含 3 个项目的工作区: 我的应用 常见 pod Common是MyApp依赖的一个公共(public)库。我想设置 CocoaPods 和 Kiwi 以在这个项目中正常工作。我该怎么做?
我非常偏爱高度可预测的 Arrange Act Assert format用于单元测试。 因为 Kiwi 没有针对模拟的显式验证语句,所以它强制采用不同的模式,例如: // Arrange Thing
出于某种原因,我的测试每次都通过了。即使我添加 fail(@"failed"); Xcode 仍然显示“测试成功” 有什么想法吗? 这是我的规范的样子 #import "SDRViewControll
我正在尝试 JASidePanels使用 Kiwi,并出现以下错误: failed: 'Root side panel controller, wants to show left panel, sh
我正在研究用于测试的 kiwi 框架 myStack.m - (id) init { if (self = [super init]) { _data = [[NSMutabl
我对这段代码有疑问,它在 Kiwiirc 中除了 Firefox 之外的所有地方都运行良好。 当我点击粗体、斜体或下划线时,它只是关闭弹出框,并没有设置它们中的任何一个。它不会在任何其他浏览器中执行此
我有一个应用程序,为此我使用 Objective Resource 创建本地对象以反射(reflect)远程响应。 特定的模型类有一个抽象类的子类,为它们提供各种附加功能,最重要的是序列化、写入磁盘和
我是一名优秀的程序员,十分优秀!