# Схема объекта тестов

Платформа dbt | Starter, Enterprise, Enterprise+

[Тесты](https://docs.getdbt.tech/docs/build/data-tests.md) — это утверждения о моделях и других ресурсах вашего проекта dbt. При запуске `dbt test` dbt сообщает, прошёл ли каждый тест в вашем проекте или завершился неудачей. Вы можете запрашивать тесты через Discovery API, чтобы получать информацию о них.

В разделе [Пример запроса](#example-query) показаны некоторые поля, которые можно запрашивать у объекта `tests`, и способ фильтрации по последнему известному результату. Полная схема со всеми доступными для запроса полями приведена в разделе [Поля](#fields).

### Аргументы

При запросе `tests` можно использовать следующие аргументы:

# Fetching data...

Устаревшее поле: `lastKnownResult`

Поле фильтра с одним значением `lastKnownResult: TestStatus` устарело. Теперь для фильтрации тестов по одному или нескольким статусам результата следует использовать `lastKnownResults: [TestStatus]`. Если передать оба поля в одном запросе, приоритет будет у `lastKnownResults`. Подробнее см. в разделе [Фильтрация тестов по последнему известному результату](#filter-tests-by-last-known-result).

### Фильтрация тестов по последнему известному результату

Вы можете фильтровать тесты по одному или нескольким значениям последнего известного результата. Используйте `lastKnownResults` с любой комбинацией следующих значений `TestStatus`:

* `pass`
* `fail`
* `error`
* `skipped`
* `warn`

Вы по-прежнему можете использовать устаревшее поле `lastKnownResult`, но если передать оба поля в одном запросе, приоритет будет у `lastKnownResults`.

При передаче пустого списка `[]`, отсутствии `lastKnownResults` или передаче `null` фильтрация по последнему известному результату не применяется. Возвращаются все тесты независимо от статуса результата.

### Пример запроса

Вы можете получить тесты, последний известный результат которых — `error` или `fail`:

```graphql
query {
  environment(id: 834) {
    applied {
      tests(
        filter: {
          lastKnownResults: [error, fail]
        },
        first: 100
      ) {
        edges {
          node {
            name
            model
            description
            expect
            resourceType
            testType
            given
            lastKnownResult
          }
        }
      }
    }
  }
}
```

Вы можете сочетать `lastKnownResults` с другими фильтрами в `TestAppliedFilter`, например с `testTypes`:

```graphql
query {
  environment(id: 834) {
    applied {
      tests(
        filter: {
          testTypes: [GENERIC_DATA_TEST, SINGULAR_DATA_TEST],
          lastKnownResults: [fail]
        },
        first: 100
      ) {
        edges {
          node {
            name
            model
            description
            expect
            resourceType
            testType
            given
            lastKnownResult
          }
        }
      }
    }
  }
}
```

### Поля

При запросе `tests` можно использовать следующие поля:

# Fetching data...

### Основные поля узлов

# Fetching data...
