Как сделать UnitTest для Physics.Raycast

Общие вопросы о Unity3D

Как сделать UnitTest для Physics.Raycast

Сообщение travnik 18 ноя 2019, 21:31

Привет,

Пытаюсь написать тест для проверки класса поиска объектов с помощью Physics.Raycast
Код класса который пытаюсь проверить:
Синтаксис:
Используется csharp
Ray ray = _camera.ScreenPointToRay(position);
            RaycastHit hit;
            Physics.Raycast(ray, out hit);
            return hit;


Код тестового метода:
Синтаксис:
Используется csharp
_scene = EditorSceneManager.NewScene(NewSceneSetup.DefaultGameObjects);
var position = new Vector3();
        var gameObject = new GameObject();
        gameObject.transform.position = position;
        var result = objectSelector.Select(position);
        Assert.NotNull(result);

По идеи нужно как то объект добавить в сцену, но вот никак не могу разобраться чтобы тест сработал. Буду очень признателен если дадите направление в какую сторону копать
travnik
UNец
 
Сообщения: 6
Зарегистрирован: 29 авг 2013, 12:49

Re: Как сделать UnitTest для Physics.Raycast

Сообщение travnik 19 ноя 2019, 12:33

Может кому пригодится, решил так вопрос
Синтаксис:
Используется csharp
[Test]
    public void Select_FoundObject()
    {
        var gameObject = new GameObject("test").AddComponent<BoxCollider>();

        var camera = Object.FindObjectOfType<Camera>();
        var worldToScreenPoint = camera.WorldToScreenPoint(gameObject.transform.position);

        var objectSelector = Container.Instantiate<Raycast2DSelector>();

        var result = objectSelector.Select(worldToScreenPoint);
        Assert.NotNull(result);
    }
travnik
UNец
 
Сообщения: 6
Зарегистрирован: 29 авг 2013, 12:49


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18