Unity Test Tools 1.3 – responding to your feedback

June 9, 2014 in Technology

Hi again! This time is will be much shorter. The 1.3 version update for Unity Test Tools is out and I want to share some of the goodness it brings to you. You can get it via the Asset Store (as usual). So, what’s new? Let’s start with…

Unit testing

Due to some inaccurate assumptions we made in the beginning of the development, we eventually run into issues preventing us from taking full advantage of all the features nUnit provides. With some UI refactorization (mostly “behind the scenes”) we managed to overcome some limitations we had in the previous versions. It’s possible now to use [Random] attribute in your tests as well as other nUnit functionalities that were missing. For your convenience (and fans of [Explicit] attribute), we made all tests dimm after the code’s state changes, so you know the result are outdated.

We hope your test suits have grown big so far, up to the point you find it hard to manage the test list. To come up against this issue, nUnit’s [Category] attribute can now be used and the tests filtered according to it. If any test has the [Category] attribute set, in the unit test runner a multiselectable dropdown will appear

If you select one or more categories from that dropdown, only tests that belong to selected categories will appear on the list and will be run.

Last but not least, the test runner will now scan for tests all dlls in the project that contain reference to nunit.framework dll. This allows you to run tests from external assemblies or simply to keep your own tests in a separate project.

Integration tests

Some of you who actively use the integration tests framework and write many tests asked for a way to write and manage tests purely form code. It surely would make some of the tests easier to maintain, especially when you have *lots* of them and you need to change one thing in multiple scripts. We’ve heard you out and implemented dynamic integration tests. If you prefer to setup your test fully from code, all you need to do now is to add [IntegrationTest.DynamicTest] attribute to a MonoBehaviour class and provide the name of the scene you want it to be included on. The MonoBehaviour script will be created on the fly by the runner if the name of the scene match the name provided in the attribute. The dynamic tests are marked with HideFlag.DontSave and will not be saved on the scene. This approach allows you to have an overview of your whole test suite, include the dynamic tests.

utt-dynamic

Another often requested feature from you was a possibility to…

Instantiate AssertionComponent from code

If you feel like the number of assertions you set on your GameObject becomes too big to manage from the Inspector, we created an API just for you! From now on, you can simply instantiate the assertion using few lines of code:

This code chunk will result in creating such assertion:

For more complex configuration you will need to get AssertionComponentConfigurator object and use it to configure the behaviour:

If an assertion instantiated from code fails, you will get in the log message the location of the code that created it:

Collaboration and your input

You are an awesome and invaluable community (I hope you all know that) and some of you are very eager to contribute to the tools. We hope we will find the best way to make it possible for you as soon as we can!

Tomek

 

Comments (13)

Subscribe to comments
  1. brain boosters supplements

    August 3, 2014 at 5:04 pm / 

    I loved as much as you will receive carried out right here.

    The sketch is tasteful, your authored subject matter stylish.
    nonetheless, you command get bought an shakiness over that you wish
    be delivering the following. unwell unquestionably come further formerly again since exactly the same nearly a lot often inside case you shield this hike.

    For a wonderful solution please view this amazing site :: brain boosters supplements

  2. Tania Laweta Lodz

    August 2, 2014 at 1:50 pm / 

    These are sort of dirt bikes that have been tamed down a bit and usually weigh a little more because
    of the added necessary equipment necessary to be in traffic, such as lighting, heavier frames, battery and the like.
    The company is also on the stock exchange (symbol
    RNNM). Some enter professional races that often use rules and tracks
    that are similar to normal motorcycle speedway events.

  3. cafeteria.wbais.org

    July 26, 2014 at 11:56 am / 

    ? W fakt, wszystkie opowieści o chwili ich koleżeństwo posiadają z kilka innych Filipińczycy w spółka pamiętam widząc debiut?
    i kino wypełniono Filipińczyków wsparcie Film,?
    Dypiangco przypomina, pamiętając osiągnięcie z Filipiński-American Film
    Dante Basco w roli głównej?

  4. Loretta

    July 12, 2014 at 12:48 pm / 

    I tend not to leave a response, however after browsing through a few of the
    remarks here Unity Test Tools 1.3 – responding to your feedback – Unity Technologies Blog.
    I actually do have a few questions for you if it’s allright.
    Is it simply me or does it look like some of these responses appear as if they are coming from
    brain dead individuals? :-P And, if you are posting at other sites, I’d like
    to follow anything new you have to post. Could you make a
    list of the complete urls of your social community pages like your
    twitter feed, Facebook page or linkedin profile?

    Here is my weblog :: WiFi Password Finder [Loretta]

  5. Tomek Paszek

    June 12, 2014 at 9:23 pm / 

    Not really, that was my first idea and I went with it. Any suggestion for a better solution?

  6. Lior Tal

    June 12, 2014 at 8:01 am / 

    Nice that you’re listening to feedback and acting upon it.

    Have you considered a mechanism other than attributes for providing extra metadata (not for NUnit, since that’s how it’s built).

    For example, using something like convention over configuration to provide the metadata instead of declaring it as attributes.

  7. Tomek Paszek

    June 11, 2014 at 11:41 am / 

    @EEES
    What exactly is not working with folding of tests written in JS (I guess it’s what you are referring to). As my colleagues say: It works for me.

  8. eees

    June 11, 2014 at 10:36 am / 

    please fix folding feature on javascript

  9. Tomek Paszek

    June 10, 2014 at 10:19 am / 

    Hi Anthony, could be please provide more details on the problem? I would be happy to give it a look.

  10. Anthony

    June 10, 2014 at 2:16 am / 

    I upgraded from 1.2.1.1 to 1.3.1 but had to quickly revert to 1.2.1.1 because half of my suite of integration tests began to fail. I found that, for whatever reason, the Game view when running under integration test is slow and sluggish, causing some of my time based tests to fail. If I run the same test by simply hitting the play button (instead of using one of the integration test runner buttons) the scene runs fine. It seems that there is something in the 1.3 release that is causing my tests to perform slow. Has anyone else seen this problem? Unit tests run fine.

  11. Peter

    June 10, 2014 at 1:23 am / 

    @NOB
    You’re assuming of course that we aren’t ourselves merely computers dreaming we are humans…. ;-)

  12. Nezabyte

    June 9, 2014 at 4:24 pm / 

    Awesome changes! Thanks for the continued support in the tool :D

  13. nob

    June 9, 2014 at 4:23 pm / 

    I think that this tool is very usefull, but if we go on this way computer’s will do everything…
    luckily none can know how our brain work…

Comments are closed.