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 >>
About the Swift Knowledge Base
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions, all written for Swift 4.
Learn Server-Side Swift now!
Take your Swift code to the server and become a full-stack developer with my latest book: Server-Side Swift!