草庐IT

ios - 如果遇到 fatal error ,如何停止 Xcode iOS 单元测试?

如果发生fatalerror,我如何停止XcodeiOS单元测试?那是为了防止我有10个单元测试,但碰巧它为单元测试编号5调用的代码有编码问题(**在这种情况下编码问题是在测试用例和设置代码中**)和抛出fatalerror。因此,在这种情况下,单元测试会停在那里,不会继续该测试类中的其他测试用例。(不确定这是否是良好单元测试的预期操作/过程?) 最佳答案 尝试overridefuncsetUp(){super.setUp()//Putsetupcodehere.Thismethodiscalledbeforetheinvocati

ios - 如何使用 XCTestSuite? ( swift 3)

我们有一个运行iOSUI测试的Jenkins作业,我需要能够在测试运行期间根据某些运行时信息忽略一些测试(或测试类)。根据XCTestSuite文档https://developer.apple.com/reference/xctest/xctestsuite您可以通过编程方式创建自定义测试套件,但我还没有找到任何实际操作的示例。那么具体应该怎么做呢?我以下面的代码为起点玩弄了这个,但还没有真正取得进展。当IgnoreThisClass在Xcode中运行时,即使BaseTestClass的setUp()中的testCaseCount报告套件中有0个测试,其中的测试方法也会运行。我是否需

ios - 如何对 drawRect 的自定义实现进行单元测试

我正在尝试使用XCTest编写一个或多个测试来驱动drawRect方法的自定义实现的实现,但我不确定如何执行此操作。由于测试,我希望编写的代码如下:-(void)drawRect:(CGRect)rect{CGPointstartOfHorizontalLine=(CGPointMake(1.0f,0.0f));CGPointendOfHorizontalLine=(CGPointMake(1.0f,10.0f));UIColor*lineColour=[UIColorcolorWithRed:40.0f/255.0fgreen:34.0f/255.0fblue:34.0f/255.0

ios - 如何使用来自另一个目标的类在 XCTest 中进行测试

我使用Xcode6.1创建一个新项目,它带有一个测试目标。我正在尝试使用同一项目中另一个演示目标中定义的类进行测试。但是我该如何实现这一点(除了将类的目标成员设置为演示和测试目标之外)? 最佳答案 转到有问题的源文件并按选项+命令+1查看文件检查器,然后选择适当的目标在“目标成员”部分。或者,转到目标设置,单击“BuildPhases”选项卡并将其添加到“CompileSources”部分。 关于ios-如何使用来自另一个目标的类在XCTest中进行测试,我们在StackOverflow

ios - 代码 7 : Unable to Convert OCUnit to XCTest

我将XCode升级到7.0并遇到了编译问题。XCode要求我将我的测试目标转换为使用XCTest,我按照向导屏幕操作。我无法找到任何测试目标,无法完成转换。有人知道如何解决这个问题吗?谢谢。 最佳答案 确保您已经选择了测试目标的方案(在左上角的方案选择器中),然后选择编辑->转换->到XCTest...这将使Xcode识别适当的目标。 关于ios-代码7:UnabletoConvertOCUnittoXCTest,我们在StackOverflow上找到一个类似的问题:

ios - 如何测试实现 NSCoding 的简单数据对象类?

我有一个小数据对象需要序列化和反序列化。假设它叫做WeatherDetails,它看起来像这样:WeatherDetails.h@interfaceWeatherDetails:NSObject{@private@protected}#pragmamark-Properties@property(nonatomic,copy)NSString*weatherCode;@property(nonatomic,copy)NSString*weatherDescription;@endWeatherDetails.m#import"WeatherDetails.h"@implementati

ios - XCTest 测试套件中的共享测试

我有一个类可以配置为做2件略有不同的事情。我想测试这两条路径。该类是UIViewController的后代,大部分配置都在InterfaceBuilder中进行。我需要验证StoryboardScenes和它们的Outlets是否以相同的方式连接,但还需要检查行为上的差异。我想为此目的使用共享的XCTest套件。一个适合左手使用,一个适合右手使用。使用该应用程序时,两者都会依次出现。第一个(右手)触发到另一个的segue。最后一个(左手)应该触发不同的segue。例如,这就是它的不同之处。现在我想通过测试来验证segues。我想创建一个BothHandSharedTests套件,两个V

ios - XCTest 和使用模拟对象作为通知接收器

在使用swift的XCTest中,您可以在需要它的测试函数中定义模拟对象。像这样functestFunction(){classmockClass:AnyObject{funcaFunction(){}}}我正在尝试使用这些模拟对象来测试另一个函数是否在给定特定条件的情况下发出正确的通知(在我的例子中,成功通知是通过204状态代码广播到对象的。我遇到的问题是我收到“无法识别的选择器”运行时错误,即使deletedSuccess()函数显然存在/这里是一些代码转储functestDelete(){letexpectation=expectationWithDescription("Pos

ios - 使用捆绑资源进行测试的最简单方法

使用捆绑资源进行测试很方便,例如为测试提供预期的结果。对于旧的逻辑风格测试,我会为此使用主包,但是对于应用程序风格测试,主包是应用程序本身。我不想将测试资源放在主包中。例如,如果测试资源仅属于测试目标,则以下代码不起作用://LoadaresourcefromthemainbundleNSString*xml=[[TyphoonBundleResourcewithName:@"signUpResponse.xml"]asString];...是否有特定的测试包?我怎样才能处理这个问题? 最佳答案 只需使用:NSBundle*test

ios - XCTest 如何执行呈现模态视图的 segue 并测试 presentedViewController

我试图测试一个会呈现ViewController的转场。但是,它总是失败。如何等待转场完成?请协助。[self.viewControllerperformSegueWithIdentifier:@"mySegueName"sender:self.viewController];XCTAssertNotNil(self.viewController.presentedViewController,@"Failedtoshowmodalview"); 最佳答案 问题是您正试图在UIViewController上呈现,其View不在UIW