首页 > 解决方案 > 用于 Unity 的 xUnit 测试

问题描述

我想xUnit为我的 Unity 项目编写测试。虽然我对 Unity 本身还很陌生,但我有经验xUnit,因此这个测试框架而不是另一个。

现在我在 Visual Studio 2019 中创建了一个新的解决方案并创建了一个xUnit项目。测试解决方案位于我的 Unity 项目旁边的文件夹结构中,就像在这个线程中提出的那样:Unit tests are inclusive when added xUnit project to Unity project。我还添加了(临时)Unity 项目csproj文件(每当 Unity 构建新项目时,它似乎都是新创建的)。

现在,当我想运行xUnit测试时,每当我运行“Unity 特定代码”时都会出错,例如UnityEngine.Debug.Logor UnityEngine.JsonUtility.FromJson。例如,错误消息显示如下

Message: 
    System.Security.SecurityException : ECall methods must be packaged into a system module.
Stack Trace: 
    DebugLogHandler.LogFormat(LogType logType, Object context, String format, Object[] args)
    Logger.Log(LogType logType, Object message)
    Debug.Log(Object message)
    Settings.get_AppSettings() line 25
    SettingsTest.AppSettings_Default_Test() line 25

xUnit为了在 Visual Studio中运行测试,我该怎么做?

标签: unity3dxunitc#-5.0

解决方案


推荐阅读