<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Testing on Coffee-Driven Development</title>
    <link>https://duijzer.com/tags/testing/</link>
    <description>Recent content in Testing on Coffee-Driven Development</description>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>© {currentYear}, Jacob Duijzer. All rights reserved</copyright>
    <lastBuildDate>Wed, 09 Nov 2022 22:28:09 +0100</lastBuildDate>
    <atom:link href="https://duijzer.com/tags/testing/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Chaos Engineering - Part 1: Simmy, chaos in code</title>
      <link>https://duijzer.com/posts/chaos-engineering-part-1-simmy/</link>
      <pubDate>Wed, 09 Nov 2022 21:00:00 +0000</pubDate>
      <guid>https://duijzer.com/posts/chaos-engineering-part-1-simmy/</guid>
      <description>&lt;p&gt;Chaos Engineering is a hot topic and very cool to dive into. But&#xA;knowing where and how to start can be a challenge. In this series, I&#xA;want to demonstrate different sides and technologies you can use. In&#xA;the first post: &lt;a href=&#34;https://github.com/Polly-Contrib/Simmy&#34;&gt;Simmy&lt;/a&gt;, a package to inject different kinds of chaos in&#xA;a .NET project.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using xUnit fixtures with SpecFlow</title>
      <link>https://duijzer.com/posts/specflow-xunit-fixtures/</link>
      <pubDate>Wed, 29 Sep 2021 11:25:11 +0200</pubDate>
      <guid>https://duijzer.com/posts/specflow-xunit-fixtures/</guid>
      <description>&lt;p&gt;It can be a challenge to implement new frameworks or tools in your daily life. Often it takes time to find out the quirks and best practices which can take time and even lead to doubts and abandoning frameworks. I have been using SpecFlow for a while now and I keep finding new ways to tackle issues and get cleaner code behind the specs (I am still having trouble creating clean &amp;amp; clear functional requirements though).&lt;/p&gt;&#xA;&lt;p&gt;One of the things I keep bumbing into is using settings and sharing code between different specs. In the following example I will explain my latest find: using &lt;a href=&#34;https://xunit.net/docs/shared-context&#34;&gt;xUnit fixtures&lt;/a&gt; to get test settings and reusable api clients for multiple tests.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Specflow and Eventual Consistency</title>
      <link>https://duijzer.com/posts/specflow-eventual-consistency/</link>
      <pubDate>Sun, 30 May 2021 20:25:11 +0200</pubDate>
      <guid>https://duijzer.com/posts/specflow-eventual-consistency/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://specflow.org/&#34;&gt;SpecFlow&lt;/a&gt; is a tool which can be used to describe test scenarios and automate the tests. Although I have been using SpecFlow for a while now I never used it for advanced examples where time might be an issue. Lets show a simple example scenario first. A scenario, written in &lt;a href=&#34;https://cucumber.io/docs/gherkin/reference/&#34;&gt;Gherkin&lt;/a&gt;, looks like this:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-gherkin&#34; data-lang=&#34;gherkin&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;Scenario:&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt; Add simple item with due date&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;    Given &lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;the user enters &amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;wash my car&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;And &lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;the user adds a due date of &amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;1-1-2022&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;When &lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;the user saves the item&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;Then &lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;the item &amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;wash my car&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&amp;#34; is added to the list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;And &lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;the due date is &amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;1-1-2022&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This scenario is easy to implement, the item will be added and stored. That&amp;rsquo;s it. Easy to verify, no delays, straight forward. But what if you have some microservices with a queueing mechanism? A scenario where data will be queued before processing so we can&amp;rsquo;t exactly know when the data is processed?&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
