Rasagar/Library/PackageCache/com.unity.test-framework/Documentation~/course/LostCrypt/first-test.md
2024-08-26 23:07:20 +03:00

1.6 KiB

2. Running a test in a LostCrypt

Learning Objectives

Set up a simple Play Mode test for LostCrypt.

Exercise

  1. Go to the Assets/Scripts directory, and spend some time exploring the scripts necessary for LostCrypt to work properly.
  2. Create a new directory Assets/Tests.
  3. In the Test Runner window click Create PlayModeTest Assembly Folder and name a new folder PlayModeTests. You should end up with Assets/Tests/PlayModeTests.
  4. Open the newly created folder and click Create Test Script in current folder in the Test Runner window.
  5. Name the file SceneSetupTests.cs.
  6. Write your first test that asserts that after loading the Main scene the current time is day.

Hints

Solution

SceneSetupTests.cs

using System.Collections;
using System.Collections.Generic;
using NUnit.Framework;
using UnityEngine;
using UnityEngine.TestTools;
using UnityEngine.SceneManagement;

public class SceneSetupTests
{
    [UnityTest]
    public IEnumerator MainScene_LoadsCorrectlyAndItsDaytime()
    {
        SceneManager.LoadScene("Assets/Scenes/Main.unity", LoadSceneMode.Single);
        yield return null;

        var fxDay = GameObject.Find("FX - Day");

        Assert.IsTrue(fxDay != null, "should find the 'FX - Day' object in the scene");
    }
}