2. Running a test in a LostCrypt
Learning Objectives
Set up a simple Play Mode test for LostCrypt.
Exercise
- Go to the
Assets/Scripts
directory, and spend some time exploring the scripts necessary for LostCrypt to work properly. - Create a new directory
Assets/Tests
. - In the Test Runner window click Create PlayModeTest Assembly Folder and name a new folder
PlayModeTests
. You should end up withAssets/Tests/PlayModeTests
. - Open the newly created folder and click Create Test Script in current folder in the Test Runner window.
- Name the file
SceneSetupTests.cs
. - Write your first test that asserts that after loading the Main scene the current time is day.
Hints
- In order to load scenes, please refer to UnityEngine.SceneManagement documentation.
- Inside
Scenes/Main.unity
look for GameObject FX - Day.
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");
}
}