Skip to content

Commit

Permalink
chore: remove header style for relref titles
Browse files Browse the repository at this point in the history
  • Loading branch information
jhandguy committed May 15, 2024
1 parent adc45c2 commit 61281f1
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<!doctype html>
<html lang="en">
<head>
<meta name="generator" content="Hugo 0.125.5">
<meta name="generator" content="Hugo 0.126.1">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>jhandguy</title>
Expand Down
10 changes: 5 additions & 5 deletions posts/path-to-cicd-nirvana-ios/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -96,24 +96,24 @@ <h2 id="continuous-integration-ci">Continuous Integration (CI)</h2>
<p>We all know it, UI Testing is a pain when it comes to stability and maintainability, but don’t you worry, I might just have what you are looking for! 🧐</p>
<h3 id="ui-testing-in-ios---the-ultimate-guide">UI Testing in iOS - The Ultimate Guide</h3>
<p>That’s right, I made a complete guide for you to get started with stable, maintainable and scalable UI testing in iOS! 🎉</p>
<h4 id="-mocking-the-networkhahahugoshortcode13s0hbhb">🔌 <a href="/posts/mocking-the-network-ios/">Mocking the Network</a></h4>
<p>🔌 <a href="/posts/mocking-the-network-ios/"><strong>Mocking the Network</strong></a></p>
<p>The first thing you need to take care of is <strong>Mocking the Network</strong>. You don’t want to let your network requests hit an actual network and there are mainly two reasons for that.</p>
<p><strong>Isolation</strong>. Of course, what if your backend friends break their test server? Well, your UI Tests will fail as well, even though nothing is wrong with the app 😱 So now you’ll say “Well let&rsquo;s deploy a dedicated environment for it then!”. And whose ownership will that be? iOS devs? Or Backend devs? Isn’t that a little bit over-engineering? 🤔 Mocking the Network allows you to avoid unnecessary headaches and “Just re-trigger it!” kind of workflows. 😆</p>
<p><strong>Monitoring</strong>. Well yes, if you mock or stub the network, that means you need to predict exactly how many calls are going to be made during your UI test and that’s extremely valuable because you might sometimes find out that your app is actually making unnecessary calls which are eating your user’s data! 😮</p>
<p>Overall, Mocking the Network gives you full control and helps to keep your UI tests stability to a very high standard! 💪</p>
<p>If you want to read more about <strong>Mocking the Network</strong>, go ahead and check out my dedicated <a href="/posts/mocking-the-network-ios/">article</a>! 👀</p>
<h4 id="-stubbing-the-navigationhahahugoshortcode13s2hbhb">🚦 <a href="/posts/stubbing-the-navigation-ios/">Stubbing the Navigation</a></h4>
<p>🚦 <a href="/posts/stubbing-the-navigation-ios/"><strong>Stubbing the Navigation</strong></a></p>
<p>The second thing you want to address is <strong>Stubbing the Navigation</strong>. One major pain point with iOS UI Testing is that every test will always relaunch the app entirely. This means that you are forced to go through several screens manually before getting to the one you actually want to test. That breaks the isolation principle, making UI tests hard to debug. 😕</p>
<p>One way of solving this is to inject a stub that will route your navigation in the exact screen you want to end up on. Of course, that also means that your navigation logic must be centralised in a dedicated layer like the <a href="/posts/coordinator-design-pattern-ios/">Coordinator</a> for instance! 🚦</p>
<p>That way, your UI Tests will suddenly become blazingly fast, but also more isolated, stable and easier to maintain! 🚀</p>
<p>If you want to read more about <strong>Stubbing the Navigation</strong>, go ahead and check out my dedicated <a href="/posts/stubbing-the-navigation-ios/">article</a>! 👀</p>
<h4 id="-disabling-animationshahahugoshortcode13s5hbhb">📺 <a href="/posts/disabling-animations-ios/">Disabling Animations</a></h4>
<p>📺 <a href="/posts/disabling-animations-ios/"><strong>Disabling Animations</strong></a></p>
<p>The third action you might want to take is <strong>Disabling Animations</strong>. This one is a quick and easy win, simply disabling animations while UI testing will make your tests not only faster but more stable as animations won’t be a potential risk for your assertions. 👍</p>
<p>If you want to read more about <strong>Disabling Animations</strong>, go ahead and check out my dedicated <a href="/posts/disabling-animations-ios/">article</a>! 👀</p>
<h4 id="-generating-accessibility-identifiers-using-reflectionhahahugoshortcode13s7hbhb">🔮 <a href="/posts/generating-accessibility-identifiers-ios/">Generating Accessibility Identifiers using Reflection</a></h4>
<p>🔮 <a href="/posts/generating-accessibility-identifiers-ios/"><strong>Generating Accessibility Identifiers using Reflection</strong></a></p>
<p>Until now, Accessibility Identifiers have always been assigned manually. This is a pain and most importantly unnecessary noise in your code so you should avoid doing this. <strong>Generating Accessibility Identifiers using Reflection</strong> is a great way to get rid of all this manual work, but instead, let your code generate it for you at runtime! 🤯</p>
<p>If you want to read more about <strong>Generating Accessibility Identifiers using Reflection</strong>, go ahead and check out my dedicated <a href="/posts/generating-accessibility-identifiers-ios/">article</a>! 👀</p>
<h4 id="-implementing-the-robot-patternhahahugoshortcode13s9hbhb">🤖 <a href="/posts/robot-pattern-ios/">Implementing the Robot Pattern</a></h4>
<p>🤖 <a href="/posts/robot-pattern-ios/"><strong>Implementing the Robot Pattern</strong></a></p>
<p>Finally, UI Tests are not only meant to be verifying that your app still behaves as expected, but they also can serve as implicit documentation of how your app works, what the main features are, for your new hires who do not have a clue about the product yet! 😮</p>
<p><strong>Implementing the Robot Pattern</strong> will not only help you separate the What from the How of your UI Tests and make screen assertions reusable across UI Tests, but also provide a more human-readable way of specifying tests! 😎</p>
<p>If you want to read more about <strong>Implementing the Robot Pattern</strong>, go ahead and check out my dedicated <a href="/posts/robot-pattern-ios/">article</a>! 👀</p>
Expand Down

0 comments on commit 61281f1

Please sign in to comment.