<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">

<channel>
	<title>Quality Coding</title>
	<atom:link href="https://qualitycoding.org/feed/" rel="self" type="application/rss+xml"/>
	<link>https://qualitycoding.org</link>
	<description>Building Quality into iOS Development</description>
	<lastBuildDate>Sat, 11 Jul 2026 20:23:16 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://qualitycoding.org/wp-content/uploads/2020/06/favicon.png</url>
	<title>Quality Coding</title>
	<link>https://qualitycoding.org</link>
	<width>32</width>
	<height>32</height>
</image> 
	<xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><item>
		<title>SwiftUI TDD: Fake It Till You Make It (Part 2)</title>
		<link>https://qualitycoding.org/swiftui-tdd-fake-it-till-you-make-it-part-2/</link>
					<comments>https://qualitycoding.org/swiftui-tdd-fake-it-till-you-make-it-part-2/#respond</comments>
		
		<dc:creator><![CDATA[Jon Reid]]></dc:creator>
		<pubDate>Tue, 14 Jul 2026 11:45:37 +0000</pubDate>
				<category><![CDATA[iOS Test-Driven Development]]></category>
		<category><![CDATA[cp tdd modern]]></category>
		<category><![CDATA[cp testing swiftui]]></category>
		<category><![CDATA[swiftui counter]]></category>
		<guid isPermaLink="false">https://qualitycoding.org/?p=24390</guid>

					<description><![CDATA[We’re continuing “TDD with SwiftUI” to write our first test for a SwiftUI view where the initial count should be zero. And if you missed part one, go back and watch that first because we’re going to continue right where we left off. Table of Contents Setup: The Find/Assert Test Structure🔴 Red: Writing a Test [&#8230;]]]></description>
		
					<wfw:commentRss>https://qualitycoding.org/swiftui-tdd-fake-it-till-you-make-it-part-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Make Custom Test Assertions in Swift Testing</title>
		<link>https://qualitycoding.org/swift-testing-custom-assertions/</link>
					<comments>https://qualitycoding.org/swift-testing-custom-assertions/#respond</comments>
		
		<dc:creator><![CDATA[Jon Reid]]></dc:creator>
		<pubDate>Tue, 16 Jun 2026 11:45:38 +0000</pubDate>
				<category><![CDATA[iOS Unit Testing]]></category>
		<category><![CDATA[cp testing framework]]></category>
		<category><![CDATA[cp testing swifttesting]]></category>
		<category><![CDATA[swift]]></category>
		<guid isPermaLink="false">https://qualitycoding.org/?p=24035</guid>

					<description><![CDATA[Good test failures are rare. Most tests say something went wrong — but not what or why. When you move beyond a simple Boolean expression to digging around various parts of data, custom assertions are helpful. I’ve written about how to write such assertions for XCTest. But what about Swift Testing? Table of Contents A [&#8230;]]]></description>
		
					<wfw:commentRss>https://qualitycoding.org/swift-testing-custom-assertions/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SwiftUI TDD: Writing Your First Failing Test (Part 1)</title>
		<link>https://qualitycoding.org/swiftui-tdd-first-failing-test-part-1/</link>
					<comments>https://qualitycoding.org/swiftui-tdd-first-failing-test-part-1/#comments</comments>
		
		<dc:creator><![CDATA[Jon Reid]]></dc:creator>
		<pubDate>Tue, 12 May 2026 11:45:32 +0000</pubDate>
				<category><![CDATA[iOS Test-Driven Development]]></category>
		<category><![CDATA[cp tdd modern]]></category>
		<category><![CDATA[cp testing swiftui]]></category>
		<category><![CDATA[swiftui counter]]></category>
		<guid isPermaLink="false">https://qualitycoding.org/?p=23978</guid>

					<description><![CDATA[Most SwiftUI developers never write automated tests for their views. You manually test in the preview canvas, or tap around in the simulator. You get things to work — for now. But manual testing is slow and repetitive. You’re likely to cover less and less of your code as your feature set grows.&#160;There’s another way: [&#8230;]]]></description>
		
					<wfw:commentRss>https://qualitycoding.org/swiftui-tdd-first-failing-test-part-1/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>ViewInspector for SwiftUI: Weighing the Risks and Benefits</title>
		<link>https://qualitycoding.org/viewinspector-risks-benefits/</link>
					<comments>https://qualitycoding.org/viewinspector-risks-benefits/#comments</comments>
		
		<dc:creator><![CDATA[Jon Reid]]></dc:creator>
		<pubDate>Tue, 31 Mar 2026 11:45:53 +0000</pubDate>
				<category><![CDATA[iOS Unit Testing]]></category>
		<category><![CDATA[cp tdd modern]]></category>
		<category><![CDATA[cp testing swiftui]]></category>
		<category><![CDATA[swiftui counter]]></category>
		<guid isPermaLink="false">https://qualitycoding.org/?p=23622</guid>

					<description><![CDATA[SwiftUI views are black boxes. You can instantiate them and see what appears on screen, but try to peek inside their structure? Apple gives us nothing.&#160;That's where ViewInspector comes in. In this post, we'll explore why this third-party library has become essential for serious SwiftUI testing, discuss trade-offs, and examine its place in test-centric workflows. [&#8230;]]]></description>
		
					<wfw:commentRss>https://qualitycoding.org/viewinspector-risks-benefits/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>How ViewInspector Unlocks SwiftUI Testing</title>
		<link>https://qualitycoding.org/viewinspector-swiftui-testing/</link>
					<comments>https://qualitycoding.org/viewinspector-swiftui-testing/#comments</comments>
		
		<dc:creator><![CDATA[Jon Reid]]></dc:creator>
		<pubDate>Tue, 28 Oct 2025 11:45:02 +0000</pubDate>
				<category><![CDATA[iOS Unit Testing]]></category>
		<category><![CDATA[cp tdd modern]]></category>
		<category><![CDATA[cp testing swiftui]]></category>
		<guid isPermaLink="false">https://qualitycoding.org/?p=23844</guid>

					<description><![CDATA[In the last post, we wrote our first SwiftUI test in pseudocode. We knew what we wanted to test — that the initial displayed count is zero — but we didn’t yet have a way to make it real.&#160;Before we can turn that pseudocode into real code, we need an essential tool: ViewInspector. This is [&#8230;]]]></description>
		
					<wfw:commentRss>https://qualitycoding.org/viewinspector-swiftui-testing/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Describe Your Test in Plain English</title>
		<link>https://qualitycoding.org/describe-test-plain-english/</link>
					<comments>https://qualitycoding.org/describe-test-plain-english/#respond</comments>
		
		<dc:creator><![CDATA[Jon Reid]]></dc:creator>
		<pubDate>Tue, 30 Sep 2025 11:45:29 +0000</pubDate>
				<category><![CDATA[iOS Test-Driven Development]]></category>
		<category><![CDATA[cp tdd modern]]></category>
		<category><![CDATA[swiftui counter]]></category>
		<guid isPermaLink="false">https://qualitycoding.org/?p=23820</guid>

					<description><![CDATA[In TDD: Where Do You Even Begin? we distilled the “essence” of the Counter app to decide on our first test. Now let’s begin fleshing out that test — not by jumping straight into code, but by describing the test in natural language.How Should We Continue?We have a name describing the first test we want [&#8230;]]]></description>
		
					<wfw:commentRss>https://qualitycoding.org/describe-test-plain-english/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>TDD: Where Do You Even Begin?</title>
		<link>https://qualitycoding.org/tdd-where-do-you-even-begin/</link>
					<comments>https://qualitycoding.org/tdd-where-do-you-even-begin/#respond</comments>
		
		<dc:creator><![CDATA[Jon Reid]]></dc:creator>
		<pubDate>Tue, 29 Jul 2025 11:45:00 +0000</pubDate>
				<category><![CDATA[iOS Test-Driven Development]]></category>
		<category><![CDATA[cp tdd modern]]></category>
		<category><![CDATA[swiftui counter]]></category>
		<guid isPermaLink="false">https://qualitycoding.org/?p=23786</guid>

					<description><![CDATA[When you're starting TDD, the hardest part is knowing where to begin.What should the first test be? What even counts as a “first step”? Table of Contents What’s the Essence?Create the Test FileWhat Should the First Test Be? What’s the Essence?We’re building a simple app — a counter, for counting things. And we want to [&#8230;]]]></description>
		
					<wfw:commentRss>https://qualitycoding.org/tdd-where-do-you-even-begin/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Xcode Key Bindings to Make Refactoring Less Painful</title>
		<link>https://qualitycoding.org/xcode-key-bindings-refactoring/</link>
					<comments>https://qualitycoding.org/xcode-key-bindings-refactoring/#respond</comments>
		
		<dc:creator><![CDATA[Jon Reid]]></dc:creator>
		<pubDate>Sun, 13 Jul 2025 23:00:08 +0000</pubDate>
				<category><![CDATA[iOS Dev Tools & Techniques]]></category>
		<category><![CDATA[cp tdd modern]]></category>
		<category><![CDATA[cp tools xcode]]></category>
		<category><![CDATA[swiftui counter]]></category>
		<guid isPermaLink="false">https://qualitycoding.org/?p=23766</guid>

					<description><![CDATA[Xcode supports automated refactoring. Supposedly.&#160;In practice, the options are limited and often unavailable. You’ll right-click something, navigate to the Refactor submenu… only to find that the command you want is grayed out. It’s a waste of time.&#160;Eventually, you stop trying.&#160;That’s the real problem. Xcode’s poor support for refactoring discourages people from using it at all. [&#8230;]]]></description>
		
					<wfw:commentRss>https://qualitycoding.org/xcode-key-bindings-refactoring/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What to Test (and What Not to Test) in SwiftUI</title>
		<link>https://qualitycoding.org/what-to-test-in-swiftui/</link>
					<comments>https://qualitycoding.org/what-to-test-in-swiftui/#respond</comments>
		
		<dc:creator><![CDATA[Jon Reid]]></dc:creator>
		<pubDate>Tue, 18 Feb 2025 12:45:55 +0000</pubDate>
				<category><![CDATA[iOS Unit Testing]]></category>
		<category><![CDATA[cp tdd modern]]></category>
		<category><![CDATA[cp testing swiftui]]></category>
		<category><![CDATA[swiftui counter]]></category>
		<guid isPermaLink="false">https://qualitycoding.org/?p=23457</guid>

					<description><![CDATA[In my last post, we explored why unit testing SwiftUI is valuable — even though many argue against testing UI code. Before that, in my SwiftUI Testing Challenge, I showed some SwiftUI code and asked you to think through what you would test. One of the key questions was:What parts are worth testing, and what [&#8230;]]]></description>
		
					<wfw:commentRss>https://qualitycoding.org/what-to-test-in-swiftui/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Beyond UI Tests: Why SwiftUI Unit Testing Matters</title>
		<link>https://qualitycoding.org/beyond-ui-tests-why-swiftui-unit-testing-matters/</link>
					<comments>https://qualitycoding.org/beyond-ui-tests-why-swiftui-unit-testing-matters/#comments</comments>
		
		<dc:creator><![CDATA[Jon Reid]]></dc:creator>
		<pubDate>Tue, 04 Feb 2025 12:45:13 +0000</pubDate>
				<category><![CDATA[iOS Unit Testing]]></category>
		<category><![CDATA[cp tdd modern]]></category>
		<category><![CDATA[cp testing swiftui]]></category>
		<category><![CDATA[swiftui counter]]></category>
		<guid isPermaLink="false">https://qualitycoding.org/?p=23417</guid>

					<description><![CDATA[In SwiftUI Testing Challenge: Can You Test This Counter App? I asked questions about testing a SwiftUI view to warm up your brains. The first question was:Would you unit test this? Why or why not?This brings us to an old debate: Should we directly test UI code? Some experts say we should keep the UI [&#8230;]]]></description>
		
					<wfw:commentRss>https://qualitycoding.org/beyond-ui-tests-why-swiftui-unit-testing-matters/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>