包含此页的版本:
不含此页的版本:
Unity Test Framework 使用特定于 Unity 的自定义 API 扩展了 NUnit,用于比较、断言和为您的断言提供约束。
如果 Unity 记录的消息不是常规日志或警告消息,则测试失败。您可以使用LogAssert检查日志中是否有预期消息,以便在 Unity 记录消息时测试不会失败。
用LogAssert.Expect在运行被测代码之前,因为预期日志检查在每一帧结束时运行。
如果未出现预期消息,或者 Unity 未记录任何常规日志或警告消息,测试还会报告失败。
以下示例使用LogAssert.Expect在编辑器日志中同时出现常规日志消息和错误消息:
[Test]
public void LogAssertExample()
{
// Expect a regular log message
LogAssert.Expect(LogType.Log, "Log message");
// The test fails without the following expected log message
Debug.Log("Log message");
// An error log
Debug.LogError("Error message");
// Without expecting an error log, the test would fail
LogAssert.Expect(LogType.Error, "Error message");
}
NUnit 允许您使用Assert.That机制,其中第一个参数是被测对象,第二个参数描述对象必须满足的条件。
Unity Test Framework 使用自定义约束类型扩展了这一点,并声明了叠加层Is类。要解决原始实现和自定义实现之间的歧义,您必须使用using语句或通过完整类型名称进行寻址UnityEngine.TestTools.Constraints.Is.
Unity 测试框架提供了自定义相等比较器和实用程序,以便更轻松地验证测试中的自定义 Unity 类型值。可比较的类型包括 [Color]、[Quaternion] 和 Vectors。
使用这些类使用 NUnit 约束或 Unity 约束比较两个相同类型的对象在给定容差范围内的相等性。
叫Instance将默认计算误差值应用于比较。要设置特定的错误值,请使用一个参数构造函数实例化一个新的比较对象ctor(float error).
有关可用比较器的完整列表和示例用法,请参阅 API 参考UnityEngine.TestTools.Utils.