包含此页的版本:
不含此页的版本:
在本练习中,您将学习如何测试存储在场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表.
对我们的客户来说,一个有用的场景是使用测试框架来验证场景的内容。这可能是检查某些游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表和 MonoBehaviors。
EditorSceneManager 允许加载和保存场景。结合测试框架,这允许实现验证场景的测试。
在测试中更改编辑器的状态时,例如加载场景,最好在之后进行清理。这可以在使用[TearDown]属性。
导入示例 11_SceneBasedTests,其中包含名为MyGameScene以及用于编辑模式测试的程序集。
任务是创建一个测试来打开场景,验证场景是否包含名为GameObjectToTestFor.
作为清理,它应该打开一个新的空场景,这是编辑模式测试的默认设置。建议将其放在[TearDown],即使测试失败,也能确保运行清理代码。
EditorSceneManager.OpenScene("Assets\\MyGameScene.unity");加载场景EditorSceneManager.NewScene(NewSceneSetup.DefaultGameObjects, NewSceneMode.Single);通过切换回空场景来清理。示例中提供了完整的解决方案11_SceneBasedTests_Solution.
测试实现可以如下所示:
public class SceneTests
{
[SetUp]
public void Setup()
{
EditorSceneManager.OpenScene("Assets\\MyGameScene.unity");
}
[Test]
public void VerifyScene()
{
var gameObject = GameObject.Find("GameObjectToTestFor");
Assert.That(gameObject, Is.Not.Null);
}
[TearDown]
public void Teardown()
{
EditorSceneManager.NewScene(NewSceneSetup.DefaultGameObjects, NewSceneMode.Single);
}
}