Using Code Coverage with Test Runner | Code Coverage | 0.2.3-preview
docs.unity3d.com
    Show / Hide Table of Contents

    Using Code Coverage with Test Runner

    When running your tests in the Test Runner you can generate an HTML report which shows which lines of your code the tests cover. This includes both EditMode and PlayMode tests.

    If Auto Generate Report is checked then an HTML report will be generated and a file viewer window will open up containing the coverage results and the report. Otherwise, select the Generate from Last button to generate one. The results are based on the assemblies specified in Included Assemblies.

    Steps

    1. Make sure Code Coverage is enabled (see Enable Code Coverage).

    2. Open the Code Coverage window (go to Window > General > Code Coverage).

      Code Coverage Window

    3. Select the Assembly Definitions you would like to see the coverage for. In this example we selected Assembly-CSharp and Assembly-CSharp-Editor. By default, Unity compiles almost all project scripts into the Assembly-CSharp.dll managed assembly and all editor scripts into the Assembly-CSharp-Editor.dll managed assembly.

      Select Assemblies

    4. Switch to the Test Runner and run your EditMode or PlayMode test(s).

      Run Tests in Test Runner

      Example test:

      using NUnit.Framework;
      using Assert = UnityEngine.Assertions.Assert;
      
      public class Tests
      {
         [Test]
         public void MyMonoBehaviour_PublicFunctionCanBeCalled()
         {
             MyMonoBehaviour myMonoBehaviour = new MyMonoBehaviour();
             Assert.IsTrue(myMonoBehaviour.PublicFunction());
         }
      }
      
    5. When the test(s) finish running, a file viewer window will open up containing the coverage report.
      Note: To generate the report automatically after the Test Runner has finished running the tests you should have Auto Generate Report checked in the Code Coverage window. Alternatively, you can select the Generate from Last button.

    6. Select index.htm.

      Report File Viewer

    7. This opens the HTML coverage report.

      HTML Coverage Report

    Getting results for EditMode and PlayMode tests

    Coverage data is generated from the last set of tests that were run in the Test Runner.
    Note: Currently the Test Runner does not support EditMode and PlayMode tests running at the same time. To include coverage for both EditMode and PlayMode tests, these will need to run separately. In this case, the last Coverage Report generated will include the combined coverage of EditMode and PlayMode tests.

    If a fresh start is required, select the Clear Data button to clear the Coverage data from all previous test runs for both EditMode and PlayMode tests.

    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023