草庐IT

test_closure

全部标签

swift - UI 测试 : How to test if label contains some text after changes?

如何编写UITest来检查我的标签(当前带有文本:2)是否已将其值更改为3或不是在我点击我的加号按钮之后。 最佳答案 letapp=XCUIApplication()lettextPredicate=NSPredicate(format:"label=%@","3")expectationForPredicate(textPredicate,evaluatedWithObject:app.staticTexts["numberOfItemsLabel"],handler:nil)app.buttons["increaseNumber

swift - 不明白这个 Trailing Closure

我是swift的新手。正在阅读weheartswift上的闭包。有一节讨论尾随闭包。这里有三个问题:我认为代码中存在一些拼写错误:函数不应该只是func吗?我认为{}中的3行代码只是f:(Int)->(Int)的尾随闭包,但是那3行代码中的f(i)是什么意思?当我尝试在playground中运行这段代码时,它在行中给出了这个错误:“returnsum”unexpectednon-voidreturnvalueinvoidfunction。代码:functionsum(from:Int,to:Int,f:(Int)->(Int)){varsum=0foriinfrom...to{sum+

swift - 如何处理 'Self captured by closure before being initialized'

假设我有一个结构如下:classA{classReadyHandler{//firesoffthecallbackwhenneededletcallback;init(callback:()->Void){self.callback=callback}}letreadyHandler:ReadyHandlerletready=falseinit(){readyHandler=ReadyHandler(callback:{self.ready=true})}}自然,问题是我正在尝试使用尚未初始化的self来初始化回调。如何避免循环引用和相应的错误? 最佳答案

ios - Xcode 7 : Write UI Tests with a deployment target below iOS 9?

是否可以在目标低于iOS9的项目上使用XCode7编写UI测试?(在我的例子中是iOS8.0) 最佳答案 实际上它与ios9部署目标相同,除了每个测试用例都需要一个@available(iOS9.0,*)a类的顶部。 关于ios-Xcode7:WriteUITestswithadeploymenttargetbelowiOS9?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/33

swift 4 : Escaping closures can only capture inout parameters explicitly by value

我一直在将我的代码从Swift2迁移到Swift4。我有以下代码在Swift2中运行良好:funcfetchUserThumbnailAvatar(_task:inoutURLSessionTask?,completion:@escaping(_image:UIImage?)->()){fetchUserAvatar(Session.currentUser?.avatar?.thumbnailURLasURL???URL(string:"")!,externalUrl:URL(string:thumbnailAvatar)??URL(string:"")!,&task,completi

ios - 代码 : module name "" is not a valid identifier while running XC unit test

尝试在使用SDWebImage设置的CocoaPods上运行XCTest,但我只能看到如下错误。有什么建议吗?:0:error:modulename""isnotavalididentifierCommand/Applications/Xcode8.3.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftcfailedwithexitcode1但是一旦我编辑方案并取消选中构建中的测试,我就能够在模拟器上运行该应用程序但无法运行测试。 最佳答案

objective-c - Obj-C 到 Swift : Block to Closure/Delegate

保持ViewController精简并使用MVVMC帮助我更轻松地进行维护。Obj.io关于他们的site有一个很好的教程.不幸的是,该教程仅在Objective-C中。我正在尝试切换到Swift并且移动非常swift,直到我到达用于配置单元的block。在教程中,他们创建了一个blocktypedef:typedefvoid(^TableViewCellConfigureBlock)(idcell,iditem);在创建单元格时返回cellForRowAtIndexPath中的单元格。下面是一些代码,这里是整个项目:Projectvoid(^configureCell)(PhotoC

Android Eclipse 插件 : Instrumentation Test Runner not specified

我在尝试使用Android项目从Eclipse运行单元测试时遇到此错误。Android首选项中的InstrumentationTestRunners列表为空。[2009-06-1723:57:51-MyApp]ERROR:Applicationdoesnotspecifyaandroid.test.InstrumentationTestRunnerinstrumentationordoesnotdeclareuses-libraryandroid.test.runner这也是令人恼火的决定,因为我尝试运行一次单元测试,这就是我一直想做的事情。 最佳答案

Android Eclipse 插件 : Instrumentation Test Runner not specified

我在尝试使用Android项目从Eclipse运行单元测试时遇到此错误。Android首选项中的InstrumentationTestRunners列表为空。[2009-06-1723:57:51-MyApp]ERROR:Applicationdoesnotspecifyaandroid.test.InstrumentationTestRunnerinstrumentationordoesnotdeclareuses-libraryandroid.test.runner这也是令人恼火的决定,因为我尝试运行一次单元测试,这就是我一直想做的事情。 最佳答案

ios - Xcode 7 中的 UITest : How to test keyboard layout (keyboardType)

我目前正在Xcode中探索新的UITest库,我想测试在UITextView中单击时弹出的键盘是否具有正确的类型(在本例中它应该是.PhonePad).我认为这对于默认的XCUIElement和XCUIElementAttributes是不可行的(关于它们的实际含义,我仍然有点模糊),我不我真的不明白我应该如何扩展以及扩展什么才能对此进行测试。任何帮助将不胜感激!:) 最佳答案 下面是我用来测试电话号码和密码验证检查的代码。letapp=XCUIApplication()lettablesQuery=app.tablestables