草庐IT

ios - XCTest Swift - 如何更快或更精确地滑动?

我在XCTest中使用Swift进行了测试,我试图在提要中滑动直到满足条件。我正在使用swipeUp(),但问题在于它的行为就像人类的滑动,并且在放手时会出现减速的痛苦动画。在减速动画完成之前,它不会再次尝试滑动。此外,该方法不带任何参数。我想看看是否有类似Calabash的东西,或者甚至是AndroidsEspresso,其中有滑动方法的属性,如swipeUp(fast)或swipeUp(medium)甚至swipeUp(x0,y200)。这是我在代码中尝试做的事情:funcscrollDownUntilYouFindSomething(){while!findingSomehtin

ios - Swift:XCTest 委托(delegate)/协议(protocol)回调(单元测试)

我需要为委托(delegate)/协议(protocol)回调创建一些单元测试。这是我正在尝试测试的实现示例:protocolSomethingWithNumbersDelegate:class{funcsomethingWithDelegate(results:Int)}classSomethingWithNumbers{vardelegate:SomethingWithNumbersDelegate?=nilfuncdoAsyncStuffWithNumbers(number:Int){varnumbers=Int()/*doingsomewiththeinput*/self.de

ios - 将 XCTest 导入动态框架

我有一个项目,我在其中创建了一个动态框架。在框架本身内部,而不是框架的测试中,我有以下文件:importFoundationimportXCTestpublicfuncassertThrowsException(function:()throws->Void){XCTAssertTrue(doesItThrowException(function))}publicfuncassertDoesNotThrowsException(function:()throws->Void){XCTAssertFalse(doesItThrowException(function))}privatef

mocking - 在 XCTest 中快速模拟对象的最佳方法是什么?

在XCTest中快速模拟对象的最佳方法是什么?它只是在具有所需功能的函数中定义类吗?或者有更好的选择吗? 最佳答案 我推荐使用Cuckoo,类似于Mockito。示例类:classExampleObject{varnumber:Int=0funcevaluate(number:Int)->Bool{returnself.number==number}}classExampleChecker{funccheck(object:ExampleObject)->Bool{returnobject.evaluate(5)}}示例测试:@te

swift - 您如何在共享框架中为 XCTest 创建公共(public)扩展?

例如,我从不使用XCTestCase.expectation的描述,所以我想用一个函数为它提供一个默认值,并通过命名来明确我正在初始化期望值,因为您不能真正为XCTestExpectation使用初始化程序。但如果扩展不在测试目标中,则无法编译:Cannotloadunderlyingmodulefor'XCTest'importXCTestpublicextensionXCTestCase{funcmakeExpectation()->XCTestExpectation{returnexpectation(withDescription:"")}} 最佳答

ios - swift 太聪明?使用 XCTest 测试时检查对象类型

我知道有很多关于如何使用Swift获取对象类型的问题。例如:Howdoyoufindoutthetypeofanobject(inSwift)?我想要查找类型的原因是我可以测试在单元测试中是否返回了正确的东西。前提是如果有人改变它,测试就会失败,我们就会知道要更加小心。Swift有is方法,它返回一个bool值来判断一个对象是否属于某种类型。我想使用is,然后断言响应为真。然而,正如这里(http://www.raywenderlich.com/74138/swift-language-faq)所概述的那样,并在实践中展示了..这会引发错误:error:'is'testisalways

swift - 如何使用 XCTest 测试 staticTexts 是否包含字符串

在XcodeUI测试中,如何测试staticTexts是否包含字符串?在调试器中,我可以运行这样的程序来打印出staticTexts的所有内容:poapp.staticTexts。但是我如何测试所有内容中是否存在字符串?我可以通过app.staticTexts["thecontentofthestaticText"].exists检查每个staticText是否存在?但我必须使用那个staticText的确切内容。我怎样才能只使用可能只是该内容一部分的字符串? 最佳答案 您可以使用NSPredicate来过滤元素。letsearch

swift - 无法从 XCTest 中的 UIStoryboard 转换自定义 UIViewController

在Swift中,Xcode6-Beta5,我正在尝试对我的“ViewController”进行单元测试,这不是一个非常有创意的名称。通过查看其他回复,我认为我没有正确配置我的“测试”目标。失败的测试代码:functestItShouldLoadFromStoryboard(){varstoryBoard:UIStoryboard?varanyVC:AnyObject?varviewController:ViewController?varuiViewController:UIViewController?storyBoard=UIStoryboard(name:"Main",bundl

ios - 如何在执行任何 XCTest 之前运行一次性设置代码

我有以下问题。我想在执行所有测试类之前执行一段代码。例如:我不希望我的游戏在执行期间使用SoundEngine单例,而是使用SilentSoundEngine。我想一次激活SilentSoundEngine不是在所有测试中。我所有的测试都是这样的:classTestBasketExcercise:XCTestCase{overridefuncsetUp(){SilentSoundEngine.activate()//SoundEngineisasingleton}//Thetests}-编辑-大多数答案都针对为TestCase提供自定义父类(superclass)。我正在寻找一种更通用

xcode - 在运行测试之前,如何让 XCTest 在 setUp 中等待异步调用?

我正在Xcode6中编写集成测试,以配合我的单元和功能测试。XCTest有一个setUp()方法,在每次测试之前都会调用它。伟大的!它还有XCTestException,让我可以编写异步测试。也很棒!但是,我想在每次测试之前用测试数据填充我的测试数据库,并且setUp只是在异步数据库调用完成之前开始执行测试。有没有办法让setUp等到我的数据库准备好后再运行测试?这是我现在所做的一个例子。由于setUp在数据库完成填充之前返回,因此我必须在每次测试时复制大量测试代码:functest_checkSomethingExists(){letexpectation=expectationWi