我正在尝试做这样的事情
class CustomPreProcessBuild : IPreprocessBuild
{
public void OnPreprocessBuild(BuildTarget _target, string _builtPath)
{
Debug.Log("CustomPreProcessBuild-OnPreprocessBuild for target " + _target + " at path: " + _builtPath);
// TODO: run tests
Debug.Log("Reminder! Run unit tests before building the project");
}
}
正如我的代码示例所描述的,我想在执行Build
命令之前自动运行所有单元测试。
有没有办法从Unity中的C#代码自动运行所有UnitTests?
我正在使用2017.3
答案 0 :(得分:1)
据我所知,你还不能从脚本调用测试。虽然我对你正在运行的版本不太熟悉。但是,我确实在一段时间内看到了Batch类的反映,目的是调用。但现在似乎无法为我的生活找到它。
您可以从命令行运行它们,因此我猜您可以尝试通过System.Diagnostics
命名空间中的进程运行它。不确定Unity会如何运行两个,因为测试运行程序使用Unity exe,但是,它值得一试!
答案 1 :(得分:0)
您需要使用Unity Test Runner。这是文档: https://docs.unity3d.com/Manual/testing-editortestsrunner.html
如果您不使用此测试运行器,您将无法测试MonoBehavior衍生产品(您的自定义组件)。