杜三颤

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

如果在Unity的单元测试下开启了一个多线程,在线程运行的情况下中断了测试,那么TearDown是不会被调用的,此时线程就没法Abort。这个时候该怎么办呢,推荐在SetUp中生成一个GameObject,GameObject上挂载一个脚本,脚本如下

 1 using System;
 2 using UnityEngine;
 3 
 4 public class ShutDownController : MonoBehaviour
 5 {
 6     private Action _onQuit;
 7 
 8     public void RegisterQuit(Action action)
 9     {
10         _onQuit = action;
11     }
12 
13     public void OnApplicationQuit()
14     {
15         if (null != _onQuit)
16             _onQuit();
17     }
18 }

然后将原本放在TearDown中的代码改为注册到RegisterQuit上即可

posted on 2021-07-02 15:17  杜三颤  阅读(137)  评论(0)    收藏  举报