Optimizing your application’s launch time helps ensure users spend more time using your app and less time staring at your launch screen, and helpfully Xcode comes with a built-in way to help us measure and monitor that time:
XCTOSSignpostMetric.applicationLaunch.... Continue Reading >>
When writing tests, it’s common to want to unwrap an optional before checking it for a particular value.
XCTUnwrap() does exactly that for us: it attempts to unwrap the optional, but will throw an error (and thus fail the test) if the optional is nil.... Continue Reading >>
XCTestCase subclasses have access to
tearDown() instance methods, plus
tearDown() class methods for one-time setup and tear down. But sometimes you need to add conditional tear down code: if your test creates a resource that must be destroyed, you can add that as an additional tear down step using the
addTeardownBlock() method.... Continue Reading >>
When you create a default
XCTestCase using Xcode you’ll get default
tearDown() methods like these:... Continue Reading >>
All performance tests in Xcode can have baselines attached to them, which are stored results that you consider representative of your app’s performance as things stand. The baseline is useful because it gives Xcode a measuring point for all other changes you make: if you accidentally change your code so that it runs slower, Xcode will consider your performance test to be a failure.... Continue Reading >>
XCTestCase has the built-in ability to work with asynchronous code using a system of expectations. First, you create one of more instances of
XCTestExpectation using the
expectation() method, then you run your asynchronous code, and finally you call
waitForExpectations() so the test doesn’t end prematurely. ... Continue Reading >>
One of the many brilliant features of Swift’s error handling system is its ability to throw errors during tests and have them considered as failures. That is, if you mark your test using
throws you run any throwing code inside that test and if it throws an error the test will be marked as a failure.... Continue Reading >>
Performance tests let you check how fast your code runs, but more importantly it lets you check how fast your code runs over time – you can spot performance changes as your code evolves.... Continue Reading >>
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions, all written for Swift 5.1.
Link copied to your pasteboard.