unity3d - 使用 NUnit 对单例进行 Unity 测试
问题描述
我有一个 Unity 项目,它应该创建一个 HoloLens 应用程序。现在我想用 NUnit 在 Unity 中测试我的一些代码。我创建了一些 PlayMode 测试
public class Test
{
private GameObject empty;
[SetUp]
public void BeforEveryTest()
{
empty = new GameObject();
empty.AddComponent<MainController>();
}
// A Test behaves as an ordinary method
[Test]
public void MainControllerGetInstance()
{
Assert.IsNotNull(MainController.Instance);
}
}
这是我要测试的单例
public class MainController : Singleton<MainController>
{
[SerializeField]
private GameObject SomePref;
private void Start()
{
SomePrefab.SetActive(true);
}
}
我收到一个错误,即 SomePref 未设置为对象的实例,但我无法设置它,因为它是一个私有的序列化字段。现在什么是消除该错误的好习惯。我知道,我可以在 MainController 的 Start Methode 中使用 Resource.Load,但这是好方法吗?
解决方案
推荐阅读
- c# - 如何知道我的元素是否已从网格布局组中取出?
- javascript - 使用 react-hook-form 的 Controller 组件不允许自定义 Antd Select 显示标签
- nativescript - 带有 nvm 的 nativescript cli 助手
- bash - runninv mvn clean verify 时出现几个错误
- d3.js - d3.js 单击并应用缩放和平移以将位于目标分区内的点分布到触发的细分
- xcode - Xcode > 符号断点 > 日志消息 > 打印对象属性的类而不是值
- java - 如何快速从指定位置的另一个数据数组中复制数据
- powershell - 搜索 AD 组成员
- python - 图像在 Django 项目中显示为损坏的图像
- php - cPanel 问题您的请求中缺少安全令牌