G.U.T Godot Unit Testing tool

bitwesbitwes Posts: 58Member
edited August 2016 in Resources
I've released version 3.0 of GUT (or Gut, or gut, not GUt or GuT though).  I've  moved the repository to Github for higher visibility.  I've made it easier to setup and use.  I've reworked the readme...I was a wee bit wordy with the old one.

This release is backwards compatible with previous releases but there are a few caveats that are covered in the release notes.

I've created about 1000 tests using this tool and it's been a great tool in developing my game.  I welcome any and all feedback and pull requests.

Release notes:

Github repo:

Tags :


  • razvanc-rrazvanc-r Posts: 84Member
    That looks like a very good unit test system. Will definitely use for my projects! Thank you very much!
  • NionNion Posts: 6Member
    Wow, TDD to the rescue. Appreciate your efforts!

  • I think it would gain in visibility greatly on the Asset Library : https://godotengine.org/asset-library/asset

  • bitwesbitwes Posts: 58Member

    Some usability updates and bug fixes. https://github.com/bitwes/Gut/releases/tag/3.0.1

    Next step is converting it to an addon and putting it into the asset-library.

  • razvanc-rrazvanc-r Posts: 84Member

    you should include your README.md file in the releases :P

  • bitwesbitwes Posts: 58Member

    I'd agree with that. It should be there now....since I just refactored it to be a plugin! It is awaiting approval in the asset library.

    Here's the release notes: https://github.com/bitwes/Gut/releases/tag/4.0.0

    There are some breaking changes due to the install location changing and some organizational changes. These are covered in the release notes and again in the README.

  • AvencherusAvencherus Posts: 49Member

    Thanks for sharing this. Looks like a robust tool.

  • bitwesbitwes Posts: 58Member

    Version 6.0.0 has been released and is Godot 3.0 compatible. New version of plugin has been submitted.
    In the meantime you can get it here: https://github.com/bitwes/Gut

    Happy testing.

  • bitwesbitwes Posts: 58Member

    Version 6.1.0 Released

    Some bug fixes and some reorg of the repo so it is a little easier to handle when installing from in-engine AssetLib. No breaking changes.

    New Features:
    * Summary now lists all failing/pending tests and the reason for the fails. No more scrolling back through all your tests to see exactly what went wrong.
    * New yield_to method that allows you to yield to a signal or a maximum amount of time.

  • bitwesbitwes Posts: 58Member

    Version 6.2.0 Released

    New string asserts and assert_has_method


  • bitwesbitwes Posts: 58Member

    Gut 6.3.0 released.

    The readme has been converted to a wiki for easier consumption.

    You can now have Inner Test classes. This helps organize your tests better in a single test script. It allows you to have multiple contexts for your tests. No more making one setup that works for 100 different unrelated tests. Now you can have 10 Inner Test classes in one script. Each with their own setup/teardown/variables etc.

    Experimental Doubles and Stubs. I'm really excited about this feature but I don't know how right I got it. Looking forward to hearing people's thoughts.

    There was another reorg to the repo, this should be the last. If you have a tool in the Asset Library, and don't know about the .gitattributes file...check it out. It can keep files out of the zip that Github generates which makes distributing your tool MUCH easier for you users, especially when installed directly from the editor.

    More info at:

    As always, happy testing everyone!

  • bitwesbitwes Posts: 58Member

    Another Gut release (6.4.0). This one introduces Spies and fixes a dumb mistake with original doubles implementation. There's also a new assert and a couple command line options. Thanks goes out to Myrkeim and cmfmcf for their PRs.

    I've been dog fooding this release in my own game and I like where it's heading. Doubling, stubbing and using the new spy asserts has helped me remove some dependencies from tests and made my unit tests more unit-like and less integration-like.

    I've also been having a lot of fun creating Inner Test classes for better organization of my test scripts. Inner Test classes were introduced in the last release and I'm already not sure how I made it this far without them.

    I'd love to hear any feedback. As always...happy testing everybody.


  • MegalomaniakMegalomaniak Posts: 683Admin

    You da real MVP!

Sign In or Register to comment.