Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Mastering iOS 18 Development

You're reading from   Mastering iOS 18 Development Take your iOS development experience to the next level with iOS, Xcode, Swift, and SwiftUI

Arrow left icon
Product type Paperback
Published in Nov 2024
Publisher Packt
ISBN-13 9781835468104
Length 418 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Avi Tsadok Avi Tsadok
Author Profile Icon Avi Tsadok
Avi Tsadok
Arrow right icon
View More author details
Toc

Table of Contents (20) Chapters Close

Preface 1. Part 1: Getting Started with iOS 18 Development
2. Chapter 1: What’s New in iOS 18 FREE CHAPTER 3. Chapter 2: Simplifying Our Entities with SwiftData 4. Chapter 3: Understanding SwiftUI Observation 5. Chapter 4: Advanced Navigation with SwiftUI 6. Chapter 5: Enhancing iOS Applications with WidgetKit 7. Chapter 6: SwiftUI Animations and SF Symbols 8. Chapter 7: Improving Feature Exploration with TipKit 9. Chapter 8: Connecting and Fetching Data from the Network 10. Chapter 9: Creating Dynamic Graphs with Swift Charts 11. Part 2: Refine your iOS Development with Advanced Techniques
12. Chapter 10: Swift Macros 13. Chapter 11: Creating Pipelines with Combine 14. Chapter 12: Being Smart with Apple Intelligence and ML 15. Chapter 13: Exposing Your App to Siri with App Intents 16. Chapter 14: Improving the App Quality with Swift Testing 17. Chapter 15: Exploring Architectures for iOS 18. Index 19. Other Books You May Enjoy

Adding tests

The principle of testing a macro is to test a code block before and after the macro expansion.

As part of our Swift Macros package, we have a test target (Figure 10.10):

Figure 10.10: A testing target for StructInitMacro

Figure 10.10: A testing target for StructInitMacro

Each Swift package comes with a testing target, and in this case, we already have one test with the stringify macro that comes when we create a new Swift Macros package.

Let’s clear the test file and start our own test.

To test a macro, we need to create the XCTestCase subclass and create a new method called testMacro. Remember that test functions in XCTest always start with the phrase “test” followed by the test name.

To test a macro expansion, we will use a particular SwiftSyntax function called assertMacroExpansion. The most important function parameters are as follows:

  • _originalSource: The original code before the expansion, including the macro attribute itself
  • expandedSource...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image