小编Eig*_*ght的帖子

对iOS应用程序进行stubbing/mocking webservices

我正在开发一个iOS应用程序,其主要目的是与一组远程Web服务进行通信.对于集成测试,我希望能够针对某些具有可预测结果的虚假Web服务运行我的应用程序.

到目前为止,我已经看到两个建议:

  1. 创建一个向客户端提供静态结果的Web服务器(例如此处).
  2. 实现不同的Web服务通信代码,基于编译时标志将调用webservices或将加载来自本地文件(示例另一个)的响应的代码.

我很好奇社区对这些方法的看法以及是否有任何工具来支持这个工作流程.

更新:让我提供一个具体的例子.我有一个使用用户名和密码的登录表单.我想检查两个条件:

  1. wronguser@blahblah.com拒绝登录和
  2. rightuser@blahblah.com成功登录.

所以我需要一些代码来检查用户名参数并向我发出适当的响应.希望这是我在"虚假网络服务"中需要的所有逻辑.我该如何干净利落地管理这个?

testing continuous-integration web-services mocking ios

33
推荐指数
5
解决办法
2万
查看次数

自动跟踪开发时间

我正在做一个个人项目,我最后能够说:"我在这个项目上花费了X个小时".现在解决这个问题的一种方法是使用手动时间跟踪器(工作于:到:).我遇到了这个问题,因为我只能在第一周或第二周使用它.所以我想自动跟踪开发时间.

我的一个想法是在构建过程中插入一个短脚本,每次调用构建过程时都会将时间戳插入日志文件中.之后,我可以分析每个构建之间的间隔,并希望能够准确地计算出正在发生的事情.

有没有其他人知道如何实施这样的时间跟踪工具?

根据已提供的答案快速跟进:

  1. 停止/启动跟踪器并不坏,但需要大量的纪律,这也许我应该努力.但他们不适合我.
  2. 具体的应用程序跟踪程序很棒,但我目前使用的是Mac OS X.

language-agnostic development-environment

29
推荐指数
1
解决办法
5071
查看次数

尽管可用内存可用,但OutOfMemory错误

我看到一个非常奇怪的问题.基本上有时大的位图内存分配将失败,即使显然有大量的内存.有很多帖子似乎问了类似的问题,但它们都与蜂窝前的安卓有关.我的理解是图像现在分配在堆上,而不是一些外部存储器.无论如何,请看下面这个日志:

    10-14 13:43:53.020: INFO/dalvikvm-heap(31533): Grow heap (frag case) to 40.637MB for 942134-byte allocation
    10-14 13:43:53.070: DEBUG/dalvikvm(31533): GC_FOR_ALLOC freed 126K, 11% free 41399K/46343K, paused 31ms
    10-14 13:43:53.130: DEBUG/dalvikvm(31533): GC_FOR_ALLOC freed 920K, 13% free 40478K/46343K, paused 30ms
    10-14 13:43:53.180: DEBUG/dalvikvm(31533): GC_FOR_ALLOC freed 1026K, 13% free 40479K/46343K, paused 30ms
    10-14 13:43:53.250: DEBUG/dalvikvm(31533): GC_FOR_ALLOC freed 931K, 12% free 41193K/46343K, paused 31ms
    10-14 13:43:53.250: INFO/dalvikvm-heap(31533): Grow heap (frag case) to 41.313MB for 1048592-byte allocation
    10-14 13:43:53.280: DEBUG/dalvikvm(31533): GC_FOR_ALLOC freed <1K, 11% free 42217K/47431K, paused 31ms …
Run Code Online (Sandbox Code Playgroud)

android jvm bitmap dalvik android-3.0-honeycomb

13
推荐指数
1
解决办法
1万
查看次数

Android设备未显示在DDMS中

在Galaxy S. Host上运行Android 2.2是一台OS X 10.6.4计算机.Eclipse中的DDMS报告没有连接任何设备.adb devices - 没有.

我试过了:

  1. 重新启动手机
  2. 切换USB开发模式
  3. 插拔电缆
  4. 重新启动服务器(adb kill-server).

奇怪的是,有时计算机不会检测到连接的电话(没有咆哮通知,没有系统日志条目),有时它会.其他Android设备工作.

你们有什么想法我还能尝试或者这是一个失败的原因吗?

谢谢

macos android ddms

11
推荐指数
1
解决办法
1万
查看次数

以编程方式设置iOS背景/锁屏图像?

我希望能够以编程方式设置锁屏背景图像.我知道这只适用于越狱的iOS设备.

以下是我尝试过的一些事情:

  1. 将LockBackground.png放在/ private/var/mobile/Library/SpringBoard /中.这可行,但需要一个坚硬的呼吸.notify_post("com.apple.language.changed");不适用于柔软的呼吸.

  2. class-dump倾倒的UIKit的私有方法.4.2中的UIKit曾经有一个被调用的方法,+ (void)setDesktopImageData:(id)fp8;但它似乎在4.3及以上版本中缺失.

有什么我想念的吗?

iphone jailbreak uikit lockscreen ios

9
推荐指数
1
解决办法
3048
查看次数

用于测试客户端/服务器交互的邪恶代理

我正在编写一个通过HTTP与远程服务器通信的客户端.我想在客户端和服务器之间放置一个邪恶的代理,它会(随机地)影响线路上的流量.

我希望发生的一些事情:

  • 响应的任意延迟
  • 任意HTTP错误
  • 使用TCP很难想象这种情况但是到底是什么:截断的响应(即格式错误的数据)
  • 暂时不可用(虽然这似乎很难,因为这必须在较低的网络级别完成).
  • 预定义的自定义错误(例如:每个请求都返回一个服务错误)

基本上我想模拟这个软件的用户将在现实世界中体验的一系列网络条件,并确保客户端优雅地处理它们.

我怀疑(希望)类似的东西已经存在.请指出我正确的方向!

谢谢

testing macos networking client-server

9
推荐指数
1
解决办法
1061
查看次数

服务器定期无响应,OOM Killer无效?

我在AWS上的docker容器中托管了一个Ruby应用程序.不幸的是,这个Ruby应用程序已知会泄漏内存,因此最终会占用所有可用内存.

我或许天真地期待OOM杀手被调用并杀死Ruby进程但没有任何反应.最终机器无响应(Web服务器不响应,ssh被禁用).我们强制从AWS控制台重启机器并在消息日志中获取以下内容,因此在重新启动时它确实存在:

Apr 30 23:07:14 ip-10-0-10-24 init: serial (ttyS0) main process (2947) killed by TERM signal
Run Code Online (Sandbox Code Playgroud)

我不相信这是AWS中的资源耗尽(即用尽信用).如果我定期重启应用程序,服务器永远不会停机.

  • 我没有禁用OOM Killer或更改任何默认的docker内存配置.
  • 我正在运行亚马逊Linux AMI版本2017.03内核.
  • 此行为发生在AWS中的多个虚拟实例中

我在这里非常茫然; 为什么内存压力会导致机器锁定?

ruby linux out-of-memory amazon-web-services docker

9
推荐指数
1
解决办法
521
查看次数

滚动时NSTextView未正确刷新

问候,

我有一个NSTextView,有大量的文本.然而,每当我滚动时,视图都没有正确更新.有些工件保留在视图的顶部或底部.看来该视图不会经常刷新自己.如果我滚动得非常慢,视图会正确更新.如果我为视图添加边框一切都很完美,那么无边框视图就会出现问题.这是截图的链接:

http://img216.imageshack.us/img216/8193/picture13s.png

谢谢

macos cocoa artifacts nstextview

7
推荐指数
1
解决办法
1734
查看次数

在运行时期间在共享库中调试/跟踪?

我试图了解某个图书馆是如何运作的.我用我添加的原件编译了它,一切都很棒.现在我想在运行时停止示例程序以查看调用堆栈,但我无法弄清楚如何使用gdb来完成它.我想要破解的功能是在共享库中.我在这里回顾了之前的问题,但这种方法对我不起作用.有问题的语言是C++.我试图提供文件名和行号,但gdb拒绝理解,它只列出了演示应用程序中的源文件.

有什么建议?

c++ debugging gdb shared-libraries

7
推荐指数
1
解决办法
8363
查看次数

可可中不区分大小写的KVC?

我很欣赏一些关于我正在考虑使用的特定方法的反馈.场景如下.

我有一个对象(让我们称之为MObject),它有许多属性,比如x和y坐标,高度和宽度.属性根据KVC指南(MObject.x; MObject.height等)命名.我的下一个任务是读入描述此MObject的XML文件.不幸的是,XML元素的命名方式不同 - X和Y,高度和宽度(注意大小写).

理想情况下,XML元素将与MObject的属性匹配.在这种情况下,我可以使用KVC并避免一大堆代码:

for (xmlProperty in xmlElement)
{
    [MObject setValue:xmlProperty.value forKey:xmlProperty.name].
}
Run Code Online (Sandbox Code Playgroud)

解决这个问题的一种方法是使用不区分大小写的键.我从哪里开始呢?还有其他更好的解决方案吗?

建议非常感谢.

cocoa key-value-observing key-value-coding

6
推荐指数
1
解决办法
989
查看次数