veganism.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
Veganism Social is a welcoming space on the internet for vegans to connect and engage with the broader decentralized social media community.

Administered by:

Server stats:

295
active users

#unittesting

1 post1 participant0 posts today
David Gardiner<p>Blogged: Snapshot testing in .NET with Verify</p><p><a href="http://david.gardiner.net.au/2025/07/verify" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">http://</span><span class="ellipsis">david.gardiner.net.au/2025/07/</span><span class="invisible">verify</span></a></p><p><a href="https://mastodon.online/tags/dotnet" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>dotnet</span></a> <a href="https://mastodon.online/tags/UnitTesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>UnitTesting</span></a> <a href="https://mastodon.online/tags/SnapshotTesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SnapshotTesting</span></a></p>
Leonardo Ferreira Fontenelle<p>Boas práticas de programação fazem bem para as pesquisas quantitativas... e, por acaso, para a prática clínica:</p><p><a href="https://blog.leonardof.med.br/2025/ckd-epi-sbn.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.leonardof.med.br/2025/ckd</span><span class="invisible">-epi-sbn.html</span></a></p><p>Fui usar "teste de unidade" ("unit testing", em inglês) no código de análise estatística que eu estava escrevendo, e descobri que uma calculadora online da Sociedade Brasileira de Nefrologia estava errada.</p><p><a href="https://mastodon.social/tags/UnitTesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>UnitTesting</span></a> <a href="https://mastodon.social/tags/RStats" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RStats</span></a> <a href="https://mastodon.social/tags/Medicina" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Medicina</span></a></p>
Andreas Schneider<p>I've just released <a href="https://mastodon.social/tags/cmocka" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cmocka</span></a> version 1.1.8:</p><p> * Set CMOCKA_LIBRARIES in package config for backwards compatibility<br> * Improve c_strreplace implementation<br> * Sanitize XML strings<br> * Update check for uintptr_t<br> * Require cmake &gt;= 3.10</p><p><a href="https://cmocka.org/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">cmocka.org/</span><span class="invisible"></span></a></p><p><a href="https://mastodon.social/tags/unittesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>unittesting</span></a></p>
Jorge D. Ortiz-Fuentes<p>My next article on <a href="https://fosstodon.org/tags/Rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Rust</span></a> <a href="https://fosstodon.org/tags/UnitTesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>UnitTesting</span></a> is out:<br><a href="https://jorgeortiz.dev/posts/rust_unit_testing_simplify_tests/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">jorgeortiz.dev/posts/rust_unit</span><span class="invisible">_testing_simplify_tests/</span></a> <br>In this one I share some tips on simplifying the tests code.<br>Spread the word 😉</p>
Victor Nava<p><a href="https://bijaiv.com/tags/TestingPyramid" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TestingPyramid</span></a> <a href="https://bijaiv.com/tags/SoftwareTesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SoftwareTesting</span></a> <a href="https://bijaiv.com/tags/UnitTesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>UnitTesting</span></a> <a href="https://bijaiv.com/tags/IntegrationTesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>IntegrationTesting</span></a> <a href="https://bijaiv.com/tags/E2ETesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>E2ETesting</span></a> <a href="https://bijaiv.com/tags/TestAutomation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TestAutomation</span></a> <a href="https://bijaiv.com/tags/DevTips" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DevTips</span></a> <a href="https://bijaiv.com/tags/QualityAssurance" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>QualityAssurance</span></a> <a href="https://bijaiv.com/tags/SoftwareEngineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SoftwareEngineering</span></a></p><p><a href="https://victornava.dev/2025/07/08/the-testing-pyramid-what-to-test-where-and-why-it-matters/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">victornava.dev/2025/07/08/the-</span><span class="invisible">testing-pyramid-what-to-test-where-and-why-it-matters/</span></a></p>
sammypanda<p>Automated tests in my survival mode quest plugin :D</p><p>Now I just have to write more of em :polarbear: </p><p><a href="https://github.com/sammypanda/MCJE-PlayerQuests-Plugin/pull/169" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/sammypanda/MCJE-Pla</span><span class="invisible">yerQuests-Plugin/pull/169</span></a></p><p><a href="https://mastodon.social/tags/Minecraft" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Minecraft</span></a> <a href="https://mastodon.social/tags/Java" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Java</span></a> <a href="https://mastodon.social/tags/Programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Programming</span></a> <a href="https://mastodon.social/tags/UnitTesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>UnitTesting</span></a> <a href="https://mastodon.social/tags/MinecraftPlugin" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MinecraftPlugin</span></a></p>
David Zaslavsky<p><span class="h-card" translate="no"><a href="https://flyovercountry.social/@encthenet" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>encthenet</span></a></span> Oh darn, yeah that's mildly annoying of numpy. But there's still the regular temporary file handling. Who knows, working with in-memory fake files may not even make a significant difference if you could do it, compared to temporary files if they live on, say, a shared memory partition. 🤷</p><p><a href="https://techhub.social/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a> <a href="https://techhub.social/tags/UnitTesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>UnitTesting</span></a></p>
John-Mark Gurney<p><span class="h-card" translate="no"><a href="https://techhub.social/@diazona" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>diazona</span></a></span></p><p><span class="h-card" translate="no"><a href="https://tech.lgbt/@rachelplusplus" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>rachelplusplus</span></a></span></p><p>That won't work. It says so in the docs:<br>&gt; pyfakefs will not work with Python libraries that use C libraries to access the file system.</p><p>Which is what numpy is doing. </p><p><a href="https://flyovercountry.social/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a> <a href="https://flyovercountry.social/tags/pytest" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pytest</span></a> <a href="https://flyovercountry.social/tags/UnitTesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>UnitTesting</span></a></p>
David Zaslavsky<p><span class="h-card" translate="no"><a href="https://flyovercountry.social/@encthenet" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>encthenet</span></a></span> <span class="h-card" translate="no"><a href="https://tech.lgbt/@rachelplusplus" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>rachelplusplus</span></a></span> Dunno if you've considered this, or would consider it, but pytest has a plugin, pytest-fakefs (<a href="https://github.com/pytest-dev/pyfakefs" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/pytest-dev/pyfakefs</span><span class="invisible"></span></a>), that implements an in-memory filesystem complete with file objects that you can use to test file handling code without having to put things on disk. IMO the plugin ecosystem for handling things like this is one of pytest's biggest advantages over unittest.</p><p>Or if you prefer, pytest also has built-in functionality that makes working with temporary files pretty easy.</p><p><a href="https://techhub.social/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a> <a href="https://techhub.social/tags/pytest" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pytest</span></a> <a href="https://techhub.social/tags/UnitTesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>UnitTesting</span></a></p>
Rachel Brindle<p>A couple weeks ago, I gave a talk at <span class="h-card" translate="no"><a href="https://mastodon.social/@omt_conf" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>omt_conf</span></a></span> on What's New in Testing. That talk was recorded, but while I wait for it to be edited and published, I published an edited (and updated!) version of my speaker notes from that talk.</p><p>There's a lot new in testing since last year. I'm still surprised there wasn't a WWDC video about all the new things you can do.</p><p><a href="https://rachelbrindle.com/2025/06/26/whats-new-in-testing-swift-6-2/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">rachelbrindle.com/2025/06/26/w</span><span class="invisible">hats-new-in-testing-swift-6-2/</span></a></p><p><a href="https://hachyderm.io/tags/SwiftLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SwiftLang</span></a> <a href="https://hachyderm.io/tags/WWDC2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>WWDC2025</span></a> <a href="https://hachyderm.io/tags/UnitTesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>UnitTesting</span></a></p>
Paul A. Jones, Jr.<p>In fast-paced SaaS dev, unit tests aren't just insurance— they're leverage. Run them constantly. Automate the grind. Let tests catch regressions before your users do.” <a href="https://mastodon.social/tags/SaaSDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SaaSDev</span></a> <a href="https://mastodon.social/tags/UnitTesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>UnitTesting</span></a> <a href="https://mastodon.social/tags/BuildInPublic" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>BuildInPublic</span></a></p>
Matthias Dittgen :bc:<p>I made a small tool called SpecSCAD to help write unit tests for <a href="https://toot.community/tags/OpenSCAD" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenSCAD</span></a> functions using a <a href="https://toot.community/tags/BDD" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>BDD</span></a>-style syntax (describe, it, expect), inspired by Mocha/Jest. <a href="https://toot.community/tags/UnitTesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>UnitTesting</span></a> </p><p>It runs <span class="h-card" translate="no"><a href="https://floss.social/@OpenSCAD" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>OpenSCAD</span></a></span> in headless mode via Bash and outputs simple pass/fail results. No external dependencies beyond OpenSCAD + Bash.</p><p>It’s very lightweight, but can help to catch issues early in function-heavy code. Maybe it’s useful to others too — feedback welcome!</p>
Rachel Brindle<p>My talk at OneMoreThing 2024 on <a href="https://hachyderm.io/tags/UnitTesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>UnitTesting</span></a> <a href="https://hachyderm.io/tags/SwiftUI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SwiftUI</span></a> and <a href="https://hachyderm.io/tags/SwiftConcurrency" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SwiftConcurrency</span></a> was recorded, but has yet to be edited and uploaded.<br>Last night, I published an edited form of my speaker notes from that talk to my blog.</p><p><a href="https://blog.rachelbrindle.com/2025/06/12/testing-swiftui-and-swiftconcurrency/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.rachelbrindle.com/2025/06</span><span class="invisible">/12/testing-swiftui-and-swiftconcurrency/</span></a></p><p><a href="https://hachyderm.io/tags/SwiftLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SwiftLang</span></a></p>
Darren J. McLeod<p>For a long time, when I first started writing tests, I felt so unproductive writing tests. I would try to write the test as fast as possible so I could move on to the "real" code.</p><p>Then one day when a production deployment failed due to missing a simple test I realized the critical value of tests... <a href="https://www.darrenmcleod.com/2025/06/test-code.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">darrenmcleod.com/2025/06/test-</span><span class="invisible">code.html</span></a> </p><p><a href="https://techhub.social/tags/SoftwareDevelopment" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SoftwareDevelopment</span></a> <a href="https://techhub.social/tags/TDD" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TDD</span></a> <a href="https://techhub.social/tags/UnitTesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>UnitTesting</span></a></p>
Fake Scrum Stats Memes & Humor<p><a href="https://techhub.social/tags/scrum" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>scrum</span></a> <a href="https://techhub.social/tags/scrumteam" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>scrumteam</span></a> <a href="https://techhub.social/tags/dev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>dev</span></a> <a href="https://techhub.social/tags/developer" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>developer</span></a> <a href="https://techhub.social/tags/coding" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>coding</span></a> <a href="https://techhub.social/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://techhub.social/tags/UnitTesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>UnitTesting</span></a> <a href="https://techhub.social/tags/unittests" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>unittests</span></a> <a href="https://techhub.social/tags/unittest" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>unittest</span></a> <a href="https://techhub.social/tags/unittestcoverage" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>unittestcoverage</span></a> <a href="https://techhub.social/tags/unittestingmuch" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>unittestingmuch</span></a> <a href="https://techhub.social/tags/Meme" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Meme</span></a> <a href="https://techhub.social/tags/memes" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>memes</span></a> <a href="https://techhub.social/tags/Humor" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Humor</span></a> <a href="https://techhub.social/tags/humour" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>humour</span></a></p>
Rachel Brindle<p>Sometimes you gotta sherlock yourself. I think that Swift Testing should have something akin to Nimble's Polling Expectations.</p><p><a href="https://forums.swift.org/t/pitch-polling-expectations/79866" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">forums.swift.org/t/pitch-polli</span><span class="invisible">ng-expectations/79866</span></a></p><p>Also, wow, macros are hard. I am so glad I don't have to write them on a day-to-day basis.</p><p><a href="https://hachyderm.io/tags/SwiftLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SwiftLang</span></a> <a href="https://hachyderm.io/tags/UnitTesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>UnitTesting</span></a></p>
Ramin Honary<a href="https://www.well-typed.com/blog/2023/04/falsify/%20" rel="nofollow noopener" target="_blank">Property-based testing in Haskell with QuickCheck <code>falsify</code></a> <p>A few days ago, Edsko de Vries of <em>Well-Typed</em> published an in-depth article on <strong>property-based software testing,</strong> with a focus on the concept of “shrinking.”</p><p>In brief, property-based testing is sort-of like fuzz testing but for algorithms and protocols. Like fuzz testing, random test cases are procedurally generated, but unlike fuzz testing, the test cases are carefully designed to verify whether a software implementation of an algorithm satisfies a specific property of that algorithm, such as:</p><ul><li>“this function always fails if the index is larger than the array”</li><li>“this function always returns a result in <code>n*log(n)</code> number of iterations for input dataset of size <code>n</code>“</li><li><p>“the sequence of log messages is guaranteed to obey this rules of this particular finite-state automata: (connect | fail) -&gt; (send X | fail) -&gt; (receive Y | receive Z | fail) -&gt; success .”</p></li></ul><p><strong>Shrinking</strong> is the process of simplifying a failed test case. If you have found some input that makes your function return a value when it should have thrown an exception, or produce a result that does not satisfy some predicate, then that input is a “counterexample” to your assertion about the properties of that function. And you may want to be able to “shrink” that counterexample input to see if you can cause the function to behave incorrectly again but with a simpler input. The “<a href="https://hackage.haskell.org/package/QuickCheck%20" rel="nofollow noopener" target="_blank">QuickCheck</a>“ library provides a variety of useful tools to let you define property tests with shrinking.</p><p>Defining unit tests with such incredible rigor takes quite a lot of time and effort, so you would probably do not want to use property-based testing for your ordinary, every-day software engineering. If you are, for example, being scrutinized by the US Department of Government of Efficiency, you would likely be fired if you were to take so much time to write such high-quality software with such a strong guarantee of correctness.</p><p>But if you are, for example, designing a communication protocol that will be used in critical infrastructure for the next 10 or 20 years and you want to make sure the reference implementation of your protocol is without contradictions, or if you are implementing an algorithm where the mathematical properties of the algorithm fall within some proven parameters (e.g. computational complexity), property-based testing can give you a much higher degree of confidence in the correctness of your algorithm or protocol specification.</p><p><a class="hashtag" href="https://fe.disroot.org/tag/tech" rel="nofollow noopener" target="_blank">#tech</a> <a class="hashtag" href="https://fe.disroot.org/tag/software" rel="nofollow noopener" target="_blank">#software</a> <a class="hashtag" href="https://fe.disroot.org/tag/haskell" rel="nofollow noopener" target="_blank">#haskell</a> <a class="hashtag" href="https://fe.disroot.org/tag/welltyped" rel="nofollow noopener" target="_blank">#WellTyped</a> <a class="hashtag" href="https://fe.disroot.org/tag/quickcheck" rel="nofollow noopener" target="_blank">#QuickCheck</a> <a class="hashtag" href="https://fe.disroot.org/tag/unittesting" rel="nofollow noopener" target="_blank">#UnitTesting</a> <a class="hashtag" href="https://fe.disroot.org/tag/propertytesting" rel="nofollow noopener" target="_blank">#PropertyTesting</a></p>
Khalid K-1000 🤖<p>🚀 Neat! <a href="https://mastodon.social/tags/Duende" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Duende</span></a> is sponsoring <a href="https://mastodon.social/tags/dotnet" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>dotnet</span></a> project Shouldy for the next year for $3,000. <a href="https://mastodon.social/tags/unittesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>unittesting</span></a> <a href="https://mastodon.social/tags/xunit" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>xunit</span></a> <a href="https://mastodon.social/tags/nunit" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>nunit</span></a> <a href="https://mastodon.social/tags/mstest" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>mstest</span></a></p><p><a href="https://blog.duendesoftware.com/posts/20250415-shouldly-assertion-framework/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.duendesoftware.com/posts/</span><span class="invisible">20250415-shouldly-assertion-framework/</span></a></p>
Rachel Brindle<p>The testing attachments proposal has been accepted (with modifications)! To be attached to some upcoming swift version! <a href="https://forums.swift.org/t/accepted-with-modifications-st-0009-attachments/79193" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">forums.swift.org/t/accepted-wi</span><span class="invisible">th-modifications-st-0009-attachments/79193</span></a></p><p>No real negative feedback, either. I guess people quickly became attached to the idea.</p><p>There were some disagreements about naming in the review, but I’m glad that we resolved that amicably. I’d really hate it if we were too attached to an idea to come to an agreement.</p><p><a href="https://hachyderm.io/tags/SwiftLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SwiftLang</span></a> <a href="https://hachyderm.io/tags/swift" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>swift</span></a> <a href="https://hachyderm.io/tags/testing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>testing</span></a> <a href="https://hachyderm.io/tags/UnitTesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>UnitTesting</span></a></p>
Rachel Brindle<p>Adding Attachments to Swift Testing is up for review! It's my first time being a review manager.</p><p>Forum thread: <a href="https://forums.swift.org/t/st-0009-attachments/78698" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">forums.swift.org/t/st-0009-att</span><span class="invisible">achments/78698</span></a></p><p>Proposal: <a href="https://github.com/swiftlang/swift-evolution/blob/main/proposals/testing/0009-attachments.md" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/swiftlang/swift-evo</span><span class="invisible">lution/blob/main/proposals/testing/0009-attachments.md</span></a></p><p><a href="https://hachyderm.io/tags/SwiftLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SwiftLang</span></a> <a href="https://hachyderm.io/tags/swift" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>swift</span></a> <a href="https://hachyderm.io/tags/testing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>testing</span></a> <a href="https://hachyderm.io/tags/UnitTesting" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>UnitTesting</span></a></p>