给出一个清单
List<String> l = new ArrayList<String>();
l.add("one");
l.add("two");
l.add("three");
Run Code Online (Sandbox Code Playgroud)
我有一个方法
String join(List<String> messages) {
if (messages.isEmpty()) return "";
if (messages.size() == 1) return messages.get(0);
String message = "";
message = StringUtils.join(messages.subList(0, messages.size() -2), ", ");
message = message + (messages.size() > 2 ? ", " : "") + StringUtils.join(messages.subList(messages.size() -2, messages.size()), ", and ");
return message;
}
Run Code Online (Sandbox Code Playgroud)
对于l,产生"一,二,三".我的问题是,是否有一个标准(apache-commons)方法做同样的事情,例如
WhatEverUtils.join(l, ", ", ", and ");
Run Code Online (Sandbox Code Playgroud)
澄清.我的问题是没有让这种方法起作用.它就像我想要的那样工作,经过测试,一切都很好.我的问题是我找不到一些实现这种功能的类似apache-commons的模块.这让我感到惊讶,因为我不能成为第一个需要这个的人.
但是,也许其他人都刚刚完成了
StringUtils.join(l, ", ").replaceAll(lastCommaRegex, ", and");
Run Code Online (Sandbox Code Playgroud) 如何获取我所在应用程序的软件包ID?
我已经安装了最新的Xcode 7 beta 2版本,当我尝试在iOS 7.1 Simulator中运行该应用程序时,它给出了以下错误消息:
iOS 7.1模拟器运行时不可用.
无法打开liblaunch_sim.dylib.尝试重新安装Xcode或模拟器运行时.
你能告诉我如何解决这个错误吗?
我只能在界面构建器中设置辅助功能标签,但在UI自动化中,我需要辅助功能标识符来获取UI元素.任何方式这样做?
根据Xcode发布的说明,Apple已经"审核"了他们现有的API,以删除隐含的未解包的选项.这意味着T!
,他们的API将返回T
或T?
在适当的时候返回.
他们在哪里这样做?如何对现有的Objective-C代码(特别是库)进行注释/包装,以使其从Swift中使用更清晰?
我正在尝试使用UIAutomation测试UIAlertView的存在,但我的处理程序永远不会被调用.
在我的javascript开头我写道:
UIATarget.onAlert = function onAlert(alert) {
UIALogger.logMessage("alertShown");
return false;
}
Run Code Online (Sandbox Code Playgroud)
据我所知,只要我指定了我的onAlert函数,就应该在我的测试期间出现alertView时调用它.所以我运行一个显示alertView的测试,这是显示警报的代码:
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:message message:nil delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
alertView.accessibilityLabel = @"alerte d'avertissement";
[alertView show];
Run Code Online (Sandbox Code Playgroud)
我在仪器中运行我的测试,警报显示但我的处理程序从未被调用.有没有人能够使用UIAutomation的事件处理程序?
谢谢,文森特.
我有一个带有两个子视图的视图,一个按钮和一个图像,我打开辅助功能并在子视图上设置标签,我可以通过调用看到层次结构
UIATarget.localTarget().frontMostApp().mainWindow().logElementTree();
Run Code Online (Sandbox Code Playgroud)
我得到以下例子:
1个窗口
2我的观点
3我的按钮
3我的形象
如果我然后打开辅助功能并为我的父视图设置标签,我将无法再在层次结构中的任何位置看到我的按钮和图像.
我得到:
1个窗口
2我的观点
为什么我的观点消失了?
我正在寻找在我的公司进行测试,但我对最好的开始方式有点模糊.
我知道我可以使用框架进行单元测试,例如OCUnit,GHUnit或SenTestingKit ......到目前为止一切都很好.我可以使用Mock对象制作一个逻辑测试我的项目的目标.
我也知道使用UIAutomation和javascript来驱动和测试GUI.
所以,现在如果我实现一个相当复杂的GUI功能,我想对我的代码进行逻辑测试,并使用UIAutomation测试GUI.我如何结合这两种方法,或者他们分开处理,在这种情况下,我会承担,我需要写2组测试中2种不同的语言进行全面测试一个功能?
从侧面说明,如果有人可以提供良好的链接,以便在已经成熟且不那么模块化的代码库上开始测试的建议,那将非常感激.
谢谢!
有没有人想出一个很好的方法来生成一个类似于GuidedTour.playground的文档,其中混合了html部分和swift代码而无需手动执行?
我们可以探索playground文件的内容,它是一个包,它显示了html/swift文件和一个描述结构的contents.xcplayground xml文件,但能够以用户友好的方式创建一个很好.
我正在尝试使用Apple的UIAutomation为具有服务器端组件的iOS应用程序编写单元测试.为了在各种状态下设置测试服务器(以及模拟通过我的服务器进行通信的两个客户端),我想在基于javascript的测试中发出HTTP get请求.
任何人都可以提供一个示例,说明如何直接从UIAutomation javascript测试中发出HTTP GET请求,或者如何从我的UIAutomation javascript测试中调用shell脚本?
FWIW,UIAutomation运行时中缺少所有浏览器提供的大多数核心对象.例如,尝试使用XMLHTTPRequest,您将收到一个异常报告,它无法找到该变量.
谢谢!
ios ×5
iphone ×5
swift ×2
automation ×1
ios7.1 ×1
java ×1
javascript ×1
join ×1
objective-c ×1
unit-testing ×1
xcode ×1
xcode4 ×1
xcode7-beta2 ×1