<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>About testmon on Testmon</title><link>https://www.testmon.org/</link><description>Recent content in About testmon on Testmon</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="https://www.testmon.org/index.xml" rel="self" type="application/rss+xml"/><item><title>Hidden test dependencies</title><link>https://www.testmon.org/blog/hidden-test-dependencies/</link><pubDate>Wed, 10 Jul 2019 00:00:00 +0000</pubDate><guid>https://www.testmon.org/blog/hidden-test-dependencies/</guid><description>&lt;p&gt;We all know each one of our tests should be independent, self-contained and therefore able to run by itself or in parallel with other tests with deterministic results. However in real life we many times encounter tests that sometimes pass and sometimes fail. There are many different sources of non-deterministic outcomes of tests. In this post, I would like to specifically focus on tests that depend on a global state which they don’t control for sufficiently.&lt;/p&gt;</description></item><item><title>How to set-up and use py.test in Pycharm</title><link>https://www.testmon.org/blog/how-to-set-up-and-use-pytest-in-pycharm/</link><pubDate>Tue, 10 Dec 2019 00:00:00 +0000</pubDate><guid>https://www.testmon.org/blog/how-to-set-up-and-use-pytest-in-pycharm/</guid><description>&lt;p&gt;In this article, we&amp;rsquo;ll take a look and set-up &lt;a href="https://docs.pytest.org/"&gt;pytest framework&lt;/a&gt;
in &lt;a href="https://www.jetbrains.com/pycharm/"&gt;PyCharm&lt;/a&gt; using our small example project.
We’ll also introduce and try two very useful pytest-plugins to run tests more flexibly
and effectively to save our time and CI/CD resources.&lt;/p&gt;
&lt;h2 id="mastermind--example-project"&gt;MasterMind – example project&lt;/h2&gt;
&lt;p&gt;For the sake of this article, we&amp;rsquo;ve prepared a small project called MasterMind. It&amp;rsquo;s a simple console-based game where the computer generates a random number that you have to guess.&lt;/p&gt;</description></item><item><title>Determining affected tests</title><link>https://www.testmon.org/blog/determining-affected-tests/</link><pubDate>Wed, 11 Dec 2019 00:00:00 +0000</pubDate><guid>https://www.testmon.org/blog/determining-affected-tests/</guid><description>&lt;p&gt;Automatically determining affected tests sounds too good to be true. Python developers rightfully have a suspecting attitude towards any tool which tries to be too clever about their source code. Code completion and symbol searching doesn&amp;rsquo;t need to be 100% reliable but messing with the test suite execution? This page explains what &lt;strong&gt;testmon&lt;/strong&gt; tries and what it does not try to achieve.&lt;/p&gt;
&lt;p&gt;There is no heuristics involved. &lt;strong&gt;testmon&lt;/strong&gt; works with these pretty solid assumptions:&lt;/p&gt;</description></item><item><title>New in testmon 1.0.0</title><link>https://www.testmon.org/blog/new-in-testmon-100/</link><pubDate>Thu, 12 Dec 2019 00:00:00 +0000</pubDate><guid>https://www.testmon.org/blog/new-in-testmon-100/</guid><description>&lt;p&gt;&lt;img src="./images/new_in_1.png" alt="Testmon in editor"&gt;&lt;/p&gt;
&lt;p&gt;Significant portions of testmon have been rewritten for v 1.0.1. Although the UI is mostly the same, there are some significant differences.&lt;/p&gt;
&lt;h2 id="end-of-python-27-support"&gt;End of python 2.7 support&lt;/h2&gt;
&lt;p&gt;Testmon requires python 3.6 or higher and pytest 5 or higher.&lt;/p&gt;
&lt;h2 id="no-subprocess-measurement"&gt;No subprocess measurement&lt;/h2&gt;
&lt;p&gt;&amp;ndash;testmon-singleprocess was removed (because it&amp;rsquo;s the only option now)&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s not easy to automate the setup of subprocess measurement and therefore to automate testing it. We&amp;rsquo;re not sure if it worked
outside of our environment and if anybody used it. If you miss subprocess measurement, please let us know.&lt;/p&gt;</description></item><item><title>Version 1.1 is out!</title><link>https://www.testmon.org/blog/version-11-is-out/</link><pubDate>Fri, 19 Mar 2021 00:00:00 +0000</pubDate><guid>https://www.testmon.org/blog/version-11-is-out/</guid><description>&lt;p&gt;I&amp;rsquo;m very glad to announce pytest-testmon version 1.1 is out and up on &lt;a href="https://pypi.org/project/pytest-testmon/"&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The new feature is lifting a basic limitation of testmon.&lt;/p&gt;
&lt;p&gt;There are many things &lt;strong&gt;influencing the outcome&lt;/strong&gt; of a test. Before version 1.1 testmon kept track of &lt;strong&gt;code&lt;/strong&gt; inside tested project and configured &lt;strong&gt;environment variables&lt;/strong&gt;. With version 1.1 comes the ability to detect changes of &lt;strong&gt;packages(libraries)&lt;/strong&gt;. With each run testmon quickly checks the version of all installed packages. If any of the versions change, or if there is a new library added, previous outcomes of tests are deemed invalid and therefore they are re-executed :).&lt;/p&gt;</description></item><item><title>Version 1.2 is out!</title><link>https://www.testmon.org/blog/version-12-is-out/</link><pubDate>Wed, 15 Sep 2021 00:00:00 +0000</pubDate><guid>https://www.testmon.org/blog/version-12-is-out/</guid><description>&lt;p&gt;I&amp;rsquo;m very glad to announce pytest-testmon version 1.2 is out on &lt;a href="https://pypi.org/project/pytest-testmon/"&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In previous versions pytest-testmon stored the failure reports and re-reported them from cache even if tests were not affected. The result was imperfect in many ways and sometimes spooked users. This version always re-executes tests which failed last time.&lt;/p&gt;
&lt;p&gt;Database schema was updated to version 8, thus previous versions of pytest-testmon are not compatible with 1.2.0.&lt;/p&gt;</description></item><item><title>New features in 1.3.x</title><link>https://www.testmon.org/blog/new-features-in-13x/</link><pubDate>Thu, 03 Mar 2022 00:00:00 +0000</pubDate><guid>https://www.testmon.org/blog/new-features-in-13x/</guid><description>&lt;p&gt;The 1.3.x line of &lt;strong&gt;pytest-testmon&lt;/strong&gt; brought a lot of functional and compatiblity improvements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;much smaller .testmondata saving space and improving performance&lt;/li&gt;
&lt;li&gt;doctest and doctest modules support&lt;/li&gt;
&lt;li&gt;support for pytest 7&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--testmon-noselect&lt;/code&gt; now sorts the tests! All the tests are executed but the affected go first. Unaffected tests only follow afterwards. Quickest tests are still prioritized within each subgroup.&lt;/li&gt;
&lt;li&gt;compatibility with Python 3.11&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>v1.4 with xdist support is out!</title><link>https://www.testmon.org/blog/v14-with-xdist-support-is-out/</link><pubDate>Sat, 01 Oct 2022 00:00:00 +0000</pubDate><guid>https://www.testmon.org/blog/v14-with-xdist-support-is-out/</guid><description>&lt;p&gt;For many years it hasn&amp;rsquo;t been possible to use pytest-testmon and run tests in parallel via &lt;strong&gt;pytest-xdist&lt;/strong&gt;. With &lt;code&gt;pytest-testmon=&amp;gt;1.4.0&lt;/code&gt; the support has recently been added.&lt;/p&gt;
&lt;p&gt;Test &lt;strong&gt;parallelization&lt;/strong&gt; is probably the most general way to speed up a large test suite so this was a major limitation, and I&amp;rsquo;m glad I was able to lift it. With this addition pytest-testmon will be more relevant for the intended target audience.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ve been also able to fix a bug when executing pytest-testmon on &lt;strong&gt;Windows&lt;/strong&gt;. Testmon should work on Windows now, but we&amp;rsquo;re building more tests to be sure and &lt;strong&gt;officially&lt;/strong&gt; support Windows. Bug &lt;strong&gt;reports&lt;/strong&gt; much appreciated!&lt;/p&gt;</description></item><item><title>How to make your GitHub Actions builds quicker?</title><link>https://www.testmon.org/blog/better-github-actions-caching/</link><pubDate>Tue, 04 Apr 2023 00:00:00 +0000</pubDate><guid>https://www.testmon.org/blog/better-github-actions-caching/</guid><description>&lt;h2 id="-this-post-is-outdated"&gt;** This post is outdated**&lt;/h2&gt;
&lt;p&gt;The recommended GH action is not maintained anymore.&lt;/p&gt;
&lt;p&gt;Most of its functionality was added to the standard setup-python action, see &lt;a href="https://github.com/actions/setup-python#caching-packages-dependencies"&gt;https://github.com/actions/setup-python#caching-packages-dependencies&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There is also a new tool to use testmon in CI, see &lt;a href="https://www.testmon.net/"&gt;https://www.testmon.net/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Some more thouhgs: &lt;a href="./blog/testmon-in-ci/"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;For many projects creating the Python environment and &lt;strong&gt;installing dependencies takes a lot of time&lt;/strong&gt;. For local development
environment this happens occasionally and is usually not a big problem. However, in your &lt;strong&gt;CI&lt;/strong&gt;, this happens for
every build and might be a significant part of the build time. GH Actions does have a caching mechanism which is used
in various ways.&lt;/p&gt;</description></item><item><title>Version 2.0 is out!</title><link>https://www.testmon.org/blog/version-20-is-out/</link><pubDate>Tue, 04 Apr 2023 00:00:00 +0000</pubDate><guid>https://www.testmon.org/blog/version-20-is-out/</guid><description>&lt;p&gt;I&amp;rsquo;m glad to announce the release of version 2.0 of pytest-testmon.&lt;/p&gt;
&lt;p&gt;Most changes compared to version 1.4.5 are internal. They will allow better maintenance and the ability to add new features.&lt;/p&gt;
&lt;p&gt;Testmon now obtains file checksums from git, if possible. There are a couple of fixes regarding basic stats, and the issue of pytest reporting a negative number of deselected tests has been resolved.&lt;/p&gt;</description></item><item><title>CI environments and testmon</title><link>https://www.testmon.org/blog/testmon-in-ci/</link><pubDate>Wed, 15 Jan 2025 00:00:00 +0000</pubDate><guid>https://www.testmon.org/blog/testmon-in-ci/</guid><description>&lt;h2 id="thoughts-on-ci-systems"&gt;Thoughts on CI systems&lt;/h2&gt;
&lt;p&gt;The modern CI services (GitHub Actions, GitLab Pipelines, etc.) model is very unsatisfactory. They are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;proprietary and enforce vendor lock-in&lt;/li&gt;
&lt;li&gt;configured/programmed via YAML&lt;/li&gt;
&lt;li&gt;hard or impossible to run/debug locally&lt;/li&gt;
&lt;li&gt;unable to execute without a commit/push&lt;/li&gt;
&lt;li&gt;misnamed (CI is neither about integration nor truly continuous)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I see clear overlap between automated QA, build systems, CI systems, and the broader OS/platform build-and-execute layer. The logical slicing and composition of these concerns should look very different from today&amp;rsquo;s model, which revolves around two major players locking everybody into their proprietary systems, leaving universality, simplicity, and developer experience as afterthoughts. This makes me hesitant to invest much into these platforms.&lt;/p&gt;</description></item></channel></rss>