运行测试 编辑测试
- 运行模式:程序集Platform平台选择 Any Platforms
- 编辑模式:程序集Platform平台选择 Editor
特性
- Test、UnityTest特性:测试方法需要添加Test或UnityTest特性,测试方法是公有的
- SetUp、TearDown特性:每个测试单例执行时,先执行setup特性下的方法,测试结束再执行teardown特性下的方法
- [Explicit, Category(名称)]特性:Explicit:确保运行所有测试用例时不运行该测试;Category:测试单例分类,用于筛选。
- TestCase、Values特性:TestCase,特性可指定测试单例函数的实参,减少重复代码。Values,单独指定每个参数的值,单例数量是各个参数的组合
Assert断言
- Assert.AreEqual(期望值,真实值)
- Assert.That(待判断结果,判断条件)
- Is.EqualTo() 判断结果是否和条件一致
- Is.Not.EqualTo() 判断结果不满足条件
- Is.Not.Null 对象不为空
- Is.GreatherThan(数值) 判断结果是否大于数值
- Is.LessThan(数值) 判断结果是否小于数值
- Does.Contain(字符串) 判断结果中是否包含指定字符串
- And 连接条件
Does.Contain(“string”).And.Contain(“asserted”) 结果中是否包含 string 和 asserted - Assert.That(actual, Is.EqualTo(excepted).Using(new FloatEqualityComparer(0.001f)));判断float类型是否相等(误差满足指定数值),有其他类可以测试三维向量、四元数是否相等,
- LogAssert.Except(UnityEngine.LogType,字符串) 控制台是否输出该日志
其他
- EditorSceneManager.OpenScene(场景路径) 打开场景
- EditorSceneManager.NewScene(NewSceneSetup.DefaultGameObjects,NewSceneMode.Single); 打开一个空场景,移除之前的场景
- IPrebuildSetUp接口 构建前调用
- IPostBuildCleanup接口 构建后调用