Unity 6.3
0 онлайн 95 гостей 3 в системе
Вход
Программирование в Unity Шаг 166 из 210

Получить результаты теста

Вы можете получать обратные вызова при запуске и завершении активного тестового запуска или отдельных тестов. Вы можете зарегистрировать обратные вызова, вызвав RegisterCallbacks по вопросу TestRunnerApi экземпляром класса, который реализует ICallbacks. Есть четыре ICallbacks методы для начала и окончания как всего цикла, так и каждого уровня тестового дерева.

Следующий пример показывает, как можно настроить слушателей:

Примечание: Слушатели получают обратные вызова от всех тестовых запусков, независимо от зарегистрированных TestRunnerApi для этого экземпляра.

public void SetupListeners()
{
   var api = ScriptableObject.CreateInstance<TestRunnerApi>();
   api.RegisterCallbacks(new MyCallbacks());
}

private class MyCallbacks : ICallbacks
{
    public void RunStarted(ITestAdaptor testsToRun)
    {
       
    }

    public void RunFinished(ITestResultAdaptor result)
    {
       
    }

    public void TestStarted(ITestAdaptor test)
    {
       
    }

    public void TestFinished(ITestResultAdaptor result)
    {
        if (!result.HasChildren && result.ResultState != "Passed")
        {
            Debug.Log(string.Format("Test {0} {1}", result.Test.Name, result.ResultState));
        }
    }
}

Примечание: Зарегистрированные обратные вызова не сохраняются при перезагрузке домена. Поэтому необходимо повторно зарегистрировать обратный вызов после перезагрузки домена, обычно с InitializeOnLoad.

Можно предоставить priority как целое число в качестве второго аргумента при регистрации callback. Это влияет на порядок вызова различных callback. Значение по умолчанию равно нулю. Также можно предоставить RegisterCallbacks экземпляром класса, который реализует IErrorCallbacks что является расширенной версией ICallbacks. IErrorCallbacks также имеет метод обратного вызова OnError вызывается, если выполнение не запускается, например, из-за ошибок компиляции или если IPrebuildSetup бросает исключение.

Дополнительные ресурсы