1. Обзор
В этой статье мы рассмотрим, как мы можем проверить, что объект относится к определенному типу. Мы рассмотрим различные библиотеки тестирования и методы, которые они предлагают для утверждения типа объекта.
Сценарий, в котором нам может понадобиться это сделать, может быть разным. Распространенным является случай, когда мы используем интерфейс в качестве возвращаемого типа метода, но затем, в зависимости от возвращаемого конкретного объекта, мы хотим выполнять разные операции. Модульные тесты могут помочь нам определить , имеет ли возвращаемый объект тот класс, который мы ожидаем.
2. Пример сценария
Давайте представим, что мы сортируем деревья по тому, сбрасывают ли они листья за зиму или нет. У нас есть два класса, Evergreen
и Deciduous,
оба реализуют интерфейс Tree
.
У нас есть простой сортировщик, который возвращает правильный тип в соответствии с именем дерева: