摘要
当使用Zenject来编写项目的时候,如果要进行测试;一般是直接运行看结果,日志或者抛出异常信息;
当项目内容做复杂了以后,模块划分出去了,会导致你前面的工作人员的功能没有做完,进不了你所要测试的功能里面来;
这个时候需要修改程序流程来达到一个测试的效果,而如果流程修改复杂的话,你当下无法进行测试;
Zenject提供了便捷的验证关系功能
验证有什么用
验证不是一次测试,并不能验证具体的错误信息;但可以验证项目一个模块的大致引用关系是否正常,
有两种用处,当写完一个模块以后,自己验证一下,然后提交到GIT版本服务器;
还有一种用于排查BUG,当BUG一时半伙不知道从哪里下手的时候,可以自定义验证逻辑来检验逻辑是否正常
验证设置
依次点击Edit->Zenject->CreateProjectContext会再Resources下创建一个项目设置文件
Validation Root Resolve Method 验证跟节点方法选项
- All 验证所有跟节点方法,包括[Inject]标记的方法
- Non Lazy Only 只验证NonLazy方法字段
Validation Error Response 验证到了错误信息怎么响应
- Log 作为日志输出
- Throw 作为异常抛出来
01、最快捷的验证方式
依次点击Edit->Zenject->Validate Current Scene
会验证当前打开的Scene的所有安装器,遍历里面的实例绑定信息是否正确
02、自定义标记验证类
第一种方式只会验证绑定信息是否正确,并不会去执行实例,如果需要验证执行实例,需要再类前面标记:
[ZenjectAllowDuringValidation]
[ZenjectAllowDuringValidation]
public class Greeting
{
public Greeting(string msg)
{
Debug.Log(msg