Тест на вектор: Тест на психологические векторы (тест Толкачева-Бородянского), бесплатно — Psy8

Векторы 9 класс с ответами

Правильный вариант ответа отмечен знаком +

1. Отрезок, для которого указано, какой из его концов является началом, а какой – концом, называется:

А. луч –

Б. прямая –

В. вектор +

Г. нет верного варианта ответа –

2. Любая точка пространства может рассматриваться как вектор. Такой вектор называется:

А. коллинеарным –

Б. сонаправленным –

В. нулевым +

Г. ненулевым –

3. Два ненулевых вектора, лежащие на одной прямой или на параллельных прямых, называются:

А. сонаправленными –

Б. коллинеарными +

В. противоположно направленными –

Г. равными –

4. Какие слова пропущены в предложении?

Если два ненулевых вектора коллинеарны, то они могут быть направлены либо одинаково (тогда их называют …), либо противоположно (тогда их называют …).

А. сонаправленные; разнонаправленные –

Б. противоположно направленные: сонаправленные –

В. сонаправленные: противоположно направленные +

Г. нет верного варианта ответа –

5. Длиной ненулевого вектора называется:

А. длина луча –

Б. длина отрезка AB +

В. длина прямой –

Г. нет верного варианта ответа –

6. Выберите верное обозначение сонаправленных векторов.

Г. нет верного варианта ответа –

7. Векторы называются равными, если:

А. они коллинеарны –

Б. их длины равны –

В. они сонаправлены –

Г. они сонаправлены и их длины равны +

8. Выберите верное обозначение противоположных векторов.

9. Выберите верное обозначение длины вектора 

тест 10. 

А. многоугольника –

Б. четырехугольника –

В. треугольника +

Г. Пифагора –

11. – это формула:

А. разности вектора –

Б. сочетательного закона –

В. нет верного варианта ответа –

Г. переместительного закона +

12. Выберите верную формулу сочетательного закона.

13. Вектор отложен от точки M. Точка M является:

А. концом вектора –

Б. началом вектора +

В. серединой вектора –

Г. нет верного варианта ответа –

14. Если длины двух ненулевых векторов равны, и они противоположно направлены, то они называются:

А. коллинеарными –

Б. равными –

В. противоположными +

Г. сонаправленными –

15. ABC – прямоугольный треугольник, Найдите длину вектора

А. 25 –

Б. 5 +

В. 12 –

Г. 7 –

16. 

17. Найдите длину вектора 

А. 10 +

Б. 100 –

В. 14 –

Г. 2 –

18. Дан правильный треугольник ABC со стороной 2. Найдите длину вектора 

А. 4 –

Б. 3 –

В. 2 +

Г. недостаточно данных –

19. Выберите пары противоположно направленных векторов.

тест-20. Выберите пары сонаправленных векторов.

21. Выберите пары противоположных векторов.

22. Выберите пары равных векторов.

23. Дан параллелограмм ABCD, AC – диагональ Найдите сумму векторов 

Г. нет верного варианта ответа –

24. Выберите верную формулировку правила многоугольника.

А. Чтобы сложить несколько векторов, нужно из произвольной точки отложить первый вектор, из его конца отложить второй вектор, из конца второго вектора отложить третий и так далее; когда все векторы отложены, соединив начальную точку с концом последнего вектора, получим сумму нескольких векторов. +

Б. От любой точки можно отложить вектор, равный данному, и притом только один.

В. Чтоб сложить два вектора, нужно из произвольной точки отложить один вектор, из конца полученного вектора отложить второй вектор, и построить вектор, соединяющий начало одного с концом второго. –

Г. Чтобы получить сумму двух векторов, нужно из произвольной точки отложить эти два вектора и построить на них параллелограмм. Диагональ параллелограмма, исходящая из начальной точки, и будет суммой заданных векторов. –

25. Верны ли следующие суждения?

а. Векторы называются равными, если они коллинеарные и их длины равны.

б. Длиной нулевого вектора  является длина отрезка CD.

А. верно только а –

Б. верно только б +

В. оба суждения верны –

Г. оба суждения неверны –

26. Верны ли следующие суждения?

а. Направленный отрезок (вектор), длина которого равна нулю, – это нулевой вектор.

б. От любой точки можно отложить вектор, равным данному, и притом только один.

А. верно только а –

Б. верно только б –

В. оба суждения верны +

Г. оба суждения неверны –

27. Верны ли следующие суждения?

а. Разностью векторов  называется такой вектор, сумма которого с вектором  равна вектору 

б. Два ненулевых вектора называются коллинеарными, если их длины равны и они противоположно направлены.

А. верно только а +

Б. верно только б –

В. оба суждения верны –

Г. оба суждения неверны –

28. Верны ли следующие суждения?

А. верно только а –

Б. верно только б +

В. оба суждения верны –

Г. оба суждения неверны –

29. Верны ли следующие суждения?

а. Вектор называется нулевым, если его начальная и конечная точка совпадает.

б. Модулем вектора называется длина вектора, выраженная числовым выражением.

А. верно только а –

Б. верно только б –

В. оба суждения верны +

Г. оба суждения неверны –

тест_30. Верны ли следующие суждения?

а. Скалярные величины характеризуются числом и направлением, а векторные только числом.

б. К векторным величинам относятся скорость, ускорение, перемещение.

А. верно только а –

Б. верно только б +

В. оба суждения верны –

Г. оба суждения неверны –

Тест: Векторы. Векторные величины — Физика 10 класс

Тест: Векторы. Векторные величины — Физика 10 класс

Английский язык

Астрономия

Белорусский язык

Биология

География

ИЗО

Информатика

История

Итальянский язык

Краеведение

Литература

Математика

Музыка

Немецкий язык

ОБЖ

Обществознание

Окружающий мир

ОРКСЭ

Русский язык

Технология

Физика

Физкультура

Химия

Черчение

Для учителей

Дошкольникам

VIP — доступ

  • Предметы
  • »
  • Физика
  • »
  • 10 класс
  • »
  • Векторы. Векторные величины

Векторы. Векторные величины

Проверка текущих знаний

Физика 10 класс | Автор: Чигринская И.Н. | ID: 9739 | Дата: 3.10.2017

Помещать страницу в закладки могут только зарегистрированные пользователи
Зарегистрироваться

Вопрос № 1

Векторные величины — это

величины, которые характеризуются численным значением и направлением
величины, которые характеризуются только численным значением

Вопрос № 2

Температура, масса, время — это

векторные величины
скалярные величины

Вопрос № 3

Скорость, сила

скалярные величины
вектоорные величины

Вопрос № 4


Вектор – это

длина пути
направленный отрезок, пара точек, взятых в определённом порядке.

Вопрос № 5

Действия над векторами:

сложение, вычитание, умножение на скаляр
умножение, деление, сложение, вычитание
возведение в степень, умножение, сложение, вычитание

Вопрос № 6

Сложение векторов методом треугольника

начало второго вектора присоединяют к концу первого, вектор соединяющий конец второго с началом первого вектора и есть сумма векторов
к концу первого присоединяют начало второго, вектор соединяющий начало первого вектора с концом второго и есть сумма векторов

Вопрос № 7

Вычитание вектоора

начало вычитаемого вектора соединяют с концом уменьшаемого, вектор соединяющий конец вычитаемого вектора с началом уменьшаемого и есть разность вектооров
Конец вычитаемого вектора соединяют с началом уменьшаемого, вектор соединяющий начало уменьшаемого вектора с концом вычитаемого и есть разность векторов

Вопрос № 8

Проекцией вектора на какую-либо ось называется

длина траектории, выраженная в метрах, километрах
длина отрезка между проекциями начала и конца вектора на эту ось, взятая со знаком «плюс» или «минус».


Вопрос № 9

Если вектор перпендикулярен оси ОХ, то его проекция на эту ось равна

0
модулю вектора умноженному на косинус угла наклона между вектором и осью
модулю вектора

Вопрос № 10

Если вектор направлен под углом к оси ОХ, то его проекция на данную ось равна

0
модулю вектора умноженному на косинус угла наклона между вектором и осью
модулю вектора

Вопрос № 11

Если вектор направлен параллельно оси ОХ, то его проекция на данную ось равна

0
модулю вектора умноженному на косинус угла наклона между вектором и осью

модулю вектора

Вопрос № 12

Какие вы знаете способы описания движения

координатный
векторный
все выше перечисленные

Показать ответы

Получение сертификата
о прохождении теста

Доступно только зарегистрированным пользователям

© TestEdu. ru 2013-2022

E-mail администратора: [email protected]

Тестирование | Вектор

Вектор АвстрияВектор БразилияВектор КитайВектор ФранцияВектор ГерманияВектор ВеликобританияВектор ИндияВектор МеждународныйВектор ИталияВектор ЯпонияВектор КореяВектор Северная Америка, CAVВектор Северная Америка, MIVВектор Северная Америка, RIVВектор ШвецияШтаб-квартираПоддержкаПродажиВекторАкадемия

Vector Austria GmbH

Башня Тысячелетия, Etage 41
Handelskai 94-96

1200 Вена

Vector Austria GmbH

Millennium Tower, Etage 41
Handelskai 94-96

1200 Вена

Vector Austria GmbH

Millennium Tower, Etage 41
Handelskai 94-96

1200 Вена

Vector Austria GmbH

Millennium Tower, Etage 41
Handelskai 94-96

1200 Вена

Штаб-квартира Служба поддержки продажVectorAcademy

Vector Informática Brasil Ltda.

Rua Verbo Divino 1488, 3º andar

4719-904 Сан-Паулу — SP

Vector Informática Brasil Ltda.

Rua Verbo Divino 1488, 3º andar

4719-904 Сан-Паулу — SP

Vector Informática Brasil Ltda.

Rua Verbo Divino 1488, 3º andar

4719-904 Сан-Паулу — SP

Vector Informática Brasil Ltda.

Rua Verbo Divino 1488, 3º andar

4719-904 Сан-Паулу — SP

Штаб-квартира Пекинский офисШэньчжэньский офисНанкинский офисПродажиПоддержкаМаркетинг и мероприятияVectorAcademy

Vector Ltd Automotive Technology (Shanghai) 9 Co.0003

Центр Сунён
Комната 2701-2703, № 398 Jiang Su Road
Шанхай, округ Чаннин

Почтовый индекс: 200050

Vector Automotive Technology (Shanghai) Co., Ltd.

801, 8-й этаж, Indigo Plaza,
№ 20 Jiuxianqiao Road,
Пекин, район Чаоян

Почтовый индекс: 100016

Офис в Шанхае

Sunyoung Center
Комната 2701-2703, № 398 Jiang Su Road
Шанхай, район Чаннин

Почтовый индекс: 200050

Офис в Шанхае

Sunyoung Center
Комната 2701-2703, № 398 Jiang Su Road
Шанхай, район Чаннин

Почтовый индекс: 200050

Офис в Шанхае

Sunyoung Center
Комната 2701-2703, № 398 Jiang Su Road

Шанхай, район Чаннин

Почтовый индекс: 200050

Офис в Шанхае

Sunyoung Center
Комната 2701-2703, № 398 Jiang Su Road
Шанхай, район Чаннин

Почтовый индекс: 200050

Vector Automotive Technology (Shanghai) Co. , Ltd.

Комната 1008, Galaxy Development Building,
№ 18, 5-я улица Чжунсинь, район Футянь
Шэньчжэнь, провинция Гуандун

Почтовый индекс: 518048

Vector Automotive Technology (Shanghai) Co., Ltd.

Комната 1103-1105, 11-й этаж,
Симао Линк Парк,
Проспект Андэ Мэн, 62, район Юхуатай,
Нанкин, провинция Цзянсу

Почтовый индекс: 210012

Головной офисVector France ToulouseSquoring Technologies SASSalesSupportVectorAcademy

Vector France S.A.S.

106 avenue Marx Dormoy

92120 Montrouge

Vector France S.A.S.

106 avenue Marx Dormoy

92120 Montrouge

Vector France S.A.S.

106 avenue Marx Dormoy

92120 Montrouge

Vector France S.A.S.

9 улица Матабио

31000 Тулуза

Squoring Technologies SAS

9 Rue Matabiau

31000 Тулуза

Телефон: +33 170 952 200

Электронная почта: contact@squoring. com

Vector France S.A.

106 avenue Marx Dormoy

92120 Montrouge

Главный офисSupportSales

Vector Informatik GmbH

Адрес посетителя: Holderäckerstr. 36

70499 Штутгарт

Адрес для доставки:
Motorstr. 56
70499 Stuttgart
Germany

Vector Informatik GmbH

Адрес посетителя: Holderäckerstr. 36

70499 Stuttgart

Часы работы: с понедельника по пятницу с 8:30 до 17:00 (CET/CEST).

Онлайн: support.vector.com

Vector Informatik GmbH

Адрес посетителя: Holderäckerstr. 36

70499 Штутгарт

Главный офисSalesSupportVectorAcademy

Vector GB Ltd.

2480 Regents Court
Полумесяц
Birmingham Business Park

West Midlands B37 7YE

НДС №: GB 941 2528 36
Зарегистрирован в Англии Номер 06699692

Vector GB Ltd.

2480 Regents Court
Полумесяц
Birmingham Business Park

West Midlands B37 7YE

Vector GB Ltd.

2480 Regents Court
Полумесяц
Birmingham Business Park

West Midlands B37 7YE

Vector GB Ltd.

2480 Регентский суд
Полумесяц
Birmingham Business Park

West Midlands B37 7YE

Штаб-квартираVector India – офис в Бангалоре Служба поддержкиVectorAcademy

Vector Informatik India Pvt. ООО

№ 11-14, 5-й и 6-й этаж, Тара Хайтс,
Old Mumbai Pune Road, Wakadewadi

Shivaji Nagar, Pune 411003

Vector Informatik India Pvt. ООО

№ 11-14, 5-й и 6-й этаж, Тара Хайтс,
Old Mumbai Pune Road, Вакадевади

Шиваджи Нагар, Пуна 411003

Vector Informatik India Pvt. ООО

№ 11-14, 5-й и 6-й этаж, Тара Хайтс,
Old Mumbai Pune Road, Wakadewadi

Shivaji Nagar, Pune 411003

Vector Informatik India Pvt. Ltd. – офис в Бангалоре

Kalyani Solitaire 2-й и 3-й этаж
№ 165/2, макет Кришна Раджу
Doraisanipalya, Off Bannerghatta Road

Бангалор 560076

Vector Informatik India Pvt. ООО

№ 11-14, 5 и 6 этаж, Тара Хайтс,
Old Mumbai Pune Road, Wakadewadi

Shivaji Nagar, Pune 411003

Штаб-квартираЦентр обслуживания клиентов в аэрокосмической отраслиЦентр обслуживания клиентов BrunswickVector Consulting ServicesЦентр разработки в КарлсруэЦентр обслуживания клиентов в МюнхенеЦентр обслуживания клиентов и разработки в РегенсбургеЦентр разработки в МюнхенеОбщие продажиТехнические продажи Решения для встроенного программного обеспечения и AUTOSARTestingServices forWebVectorAUTOSARTechDaysSupportSupport0003

Vector Informatik GmbH

Адрес для посетителей: Holderäckerstr. 36

70499 Stuttgart

Тел.: +49 711 80670-0

Факс: +49 711 80670-111

Электронная почта: [email protected]

56
70499 Stuttgart
Германия

Vector Informatik GmbH

Borsteler Bogen 27

Hamburg

Телефон: +49 40 2020130-0

Fax: +49 4020130130-20

.

Vector Informatik GmbH

Frankfurter Str. 286

38122 Брауншвейг

Телефон: +49 531 121990

Факс: +49 531 12199 20

Эл. 20

70499 Штутгарт

Почтовый адрес:
Ingersheimer Str. 24

Vector Informatik GmbH

Philipp-Reis-Str. 1

76137 Карлсруэ

Телефон: +49721 91430 100

Факс: +49 721 91430 101

Электронная почта: [email protected]

Vector Informatik GmbH

Otto-Hahn-Str. 20

85609 Ашхайм

Тел.: +49 89 94384220

Факс: +49 711 80670-111

Эл. 8

93053 Регенсбург

Телефон: +49 941 208650

Факс: +49 941 20865 111

Электронная почта: [email protected]

Vector Informatik GmbH

Адрес для посетителей: Holderäckerstr. 36

70499 Stuttgart

Телефон: +49 711 80670 500

Факс: +49 711 80670 555

E-mail: [email protected]

Технические продажи встроенные программное обеспечение и Autosar

Adder: holderärtrstr. 36

70499 Штутгарт

Vector Informatik GmbH

Адрес посетителя: Holderäckerstr. 36

70499 Штутгарт

Телефон: +49 711 80670 200

Факс: +49 711 80670-111

Электронная почта: [email protected]

Часы работы: с понедельника по пятницу с 8:30 до 17:00 (центрально-европейское время).

Онлайн: support.vector.com

Vector Informatik GmbH

Адрес посетителя: Holderäckerstr. 36

70499 Штутгарт

Vector Informatik GmbH

Ingersheimer Str. 24

70499 Штутгарт

Vector Informatik GmbH

Адрес для посетителей: Holderäckerstr. 36

70499 Штутгарт

Vector Informatik GmbH

Адрес для посетителей: Holderäckerstr. 36

70499 Штутгарт

Vector Informatik GmbH

Адрес посетителя: Holderäckerstr. 36

70499 STUTTGART

Телефон: +49 711 80670 4618

Факс: +49 711 80670 499

E-mail: [email protected]

Ваша контакт:
Katja Hahmann 77777777777777777777777777777777777777777777777777777777777777777777777777777777 70007 и автоматизированные испытательные системы

Vector Informatik GmbH

Baierbrunner Str. 23

81379 Munich

Телефон: +49 89 74 7377-0

Факс: +49 89 74 7377-99

E-mail: [email protected]

Штаб-квартира.

Корсо Семпионе 68

20154 Милан

Vector Italia s.r.l.

Corso Sempione 68

20154 Milano

Часы работы: с понедельника по пятницу с 9:00 до 18:00 (CET/CEST).

Онлайн: support.vector.com

Vector Italia s.r.l.

Корсо Семпионе 68

20154 Милан

Vector Italia s.r.l.

Corso Sempione 68

20154 Milano

Штаб-квартира Офис в НагоеОфис в ОсакеПродажи в ТокиоПродажи в НагоеВстроенные службы поддержкиВстроенная поддержкаVectorAcademy

Vector Japan Co. Ltd.

0709 Season, Terrace, 31F Shinagawa 1-2-70, Конан, Минато-ку

Токио 108-0075

Vector Japan Co. Ltd.

Глобальные ворота, 10 эт.,
4-60-12 Hiraike-cho, Nakamura-ku, Nagoya-shi

Aichi, 453-6110

Vector Japan Co. Ltd.

9F Shin-Osaka Doi Building No.5
1-2-4 Miyahara, Yodogawa-ku, Osaka-shi

Osaka 532-0003

Vector Japan Co. Ltd.

31F Shinagawa Season Terrace,
1-2-70, Конан, Минато-ку

Токио 108-0075

Vector Japan Co. Ltd.

10F Global Gate,
4-60-12 Хирайке-чо, Накамура-ку, Нагоя-ши

Аити, 453-6110

Vector Japan Co. Ltd.

31F Shinagawa Season Terrace,
1-2-70, Конан, Минато-ку

Токио 108-0075

Vector Japan Co. Ltd.

31F Shinagawa Season Terrace,
1-2-70, Конан, Минато-ку

Токио 108-0075

Онлайн: support.vector.com

Часы приема указаны по следующему адресу:
— Телефон 10-12 / 13-17 (Пн- Пт, кроме выходных)
— Электронная почта, факс / круглосуточно в любое время

    Vector Japan Co. Ltd.

    31F Shinagawa Season Terrace,
    1-2-70, Конан, Минато-ку

    Токио 108-0075

    Vector Japan Co. Ltd.

    31F Shinagawa Season Terrace,
    1-2-70, Конан, Минато-ку

    Токио 108-0075

    Штаб-квартираГенеральные продажиТехнические продажи встроенного программного обеспечения и AUTOSAR KoreaSupportVectorAcademy (Корея)

    Vector Korea IT Inc.

    9F, Yongsan Prugio Summit Office-07, 69, Hangang-daero, Yongsan-gu

    Seoul 04378

    Vector Korea IT Inc.

    9F, Yongsan Prugio Summit Office-dong,
    69, Hangang-Daero, Yongsan-Gu

    Seoul 04378

    Vector Korea IT Inc.

    용산구 한강 대로 69 용산 푸르지오 밋 업무동

    서울 04378

    Vector Corea It Inc.

    9f, yongsan

    . Офис на высшем уровне-дон,
    69, Hangang-daero, Yongsan-gu

    Seoul 04378

    Vector Korea IT Inc.

    602, Yongsan Prugio Summit Office-dong

    Seoul 04378

    Штаб-квартира.

    Электронная почта: [email protected]

    Vector North America

    66 Bovet Road, Suite 300

    San Mateo, CA 94402

    Телефон: +1 248 449-9290, вариант 1

    3 Факс: +1 248 449-9704

    Электронная почта: [email protected]

    Vector North America

    66 Bovet Road, Suite 300

    San Mateo, CA 94402

    Headquarters SalesSupportVectorAcademy

    Vector North America

    39500 Orchard Hill Place
    Suite 500

    Novi, Michigan 48375

    Телефон: +1 248 449-9290, вариант 1

    Факс: +1 248 449-9704

    Электронная почта: sales@us. vector.com 0 Vector America

    4

    39500 Орчард Хилл Плэйс
    Люкс 500

    Novi, Michigan 48375

    Vector North America

    39500 Orchard Hill Place
    Suite 500

    Novi, Michigan 48375

    Телефон: +1 248 449-9290, вариант 1

    Факс: +1 248 449-9704

    Электронная почта: [email protected] 0 Vector America

    4

    39500 Орчард Хилл Плэйс
    Suite 500

    Novi, Michigan 48375

    Headquarters SalesSupport

    Vector North America

    1351 South County Trail, Suite 310

    Восточный Гринвич, RI 02818

    Vector North America

    1351 South County Trail, Suite 310

    East Greenwich, RI 02818

    Vector North America

    1351 South County Trail, Suite 310

    East Greenwich, RI 03818 1351 South County Trail, Suite 310

    4, RI 03818 1351 South County Trail, Suite 310

    4, RI 03814 1351 South County, Suite 310

    4, RI 03814 1351.

    HeadquarterVecScan AB (Linköping)SalesSupportVectorAcademy

    VecScan AB

    Theres Svenssons Gata 9

    417 55 Gothenburg

    VecScan AB

    Theres Gasta Svenssons 9

    417 55 Gothenburg

    VecScan AB

    Theres Svenssons Gata 9

    417 55 Gothenburg

    VecScan AB

    Theres Svenssons Gata 9

    417 55 Gothenburg

    VecScan AB

    Teknikringen 9

    SE-583 30 Linköping

    Тел.: +46 (0)13–560 18 14

    Факс: +46 31 764 76 19

    Эл. Векторная документация

    Vector позволяет выполнять модульное тестирование преобразований в конвейере обработки. Модульные тесты в векторе работают точно так же, как модульные тесты в большинстве языков программирования:

    1. Предоставляют набор входных данных для преобразования (или для нескольких объединенных в цепочку преобразований). вместе).
    2. Укажите ожидаемые результаты изменений, внесенных преобразованием (или несколькими трансформируется).
    3. Получайте оперативную информацию о любых сбоях теста.

    Модульные тесты могут служить полезным ограждением при работе в Vector в производственных условиях, где вы необходимо убедиться, что ваша топология не ведет себя непредвиденно, и в целом улучшить ремонтопригодность ваших конвейеров Vector, особенно больших и сложных конвейеров.

    Запуск модульных тестов

    Вы можете выполнять тесты в файле конфигурации, используя test подкоманда:

     vector test /etc/vector/vector.toml
     

    Вы также можете указать несколько файлов конфигурации для тестирования:

     vector test /etc/vector/pipeline1.toml /etc/vector/pipeline2.toml
     

    Указание нескольких файлов полезно, если вы хотите, например, хранить модульные тесты в отдельном файл из конфигурации вашего конвейера. Vector всегда обрабатывает несколько файлов как единый, унифицированный конфигурация.

    Проверка вывода

    Вы можете использовать утверждения VRL, чтобы убедиться, что выходные данные тестируемых преобразований соответствует вашим ожиданиям. VRL предоставляет две функции утверждения:

    • assert принимает логическое выражение в качестве первого аргумента. Если логическое значение разрешается в false , тест завершается неудачно, и Vector регистрирует ошибку.
    • assert_eq принимает любые два значения в качестве первых двух аргументов. Если эти два значения не равны, тест завершается неудачно, и Vector регистрирует ошибку.

    С помощью обеих функций вы можете указать пользовательское сообщение журнала, которое будет отправлено в случае сбоя утверждения:

     # Именованный аргумент
    assert!(1 == 2, сообщение: "правила арифметики нарушены")
    assert_eq!(1, 2, сообщение: "правила арифметики нарушены")
    # Позиционные аргументы также допустимы
    assert!(1 == 2, "правила арифметики нарушены")
    assert_eq!(1, 2, "правила арифметики нарушены")
     

    Сделайте ваши утверждения непогрешимыми

    Мы рекомендуем сделать вызовы assert и assert_eq в модульных тестах безошибочными, применив bang ( ! ) синтаксис, как в assert!(1 == 1) , а не assert(1 == 1) . ! указывает, что Программа VRL должна прерваться, если условие не выполняется.

    Если вы используете функцию assert , вам необходимо передать логическое выражение в функцию в качестве первого аргумента. Особенно полезным при написании логических выражений является тип функции, такие функции, как существует , включает , is_nullish и содержат сравнения и VRL. Вот пример использование логического выражения, переданного функции assert :

     [[tests.outputs.conditions]]
    тип = "врл"
    источник = '''
    утверждать!(is_string(.message) && is_timestamp(.timestamp) && !exists(.other))
    '''
     

    В этом случае программа VRL (под источником ) вычисляет одно логическое значение, которое выражает следующее:

    • Поле сообщения должно быть строкой
    • Поле timestamp должно быть действительной меткой времени или assert_eq утверждения:

       источник = '''
      утверждать!(существует(. message), "поле сообщения не предоставлено")
      assert!(!is_nullish(.message), "поле сообщения является пустой строкой")
      assert!(is_string(.message), "поле сообщения имеет неожиданный тип")
      assert_eq!(.message, "успех", "поле сообщения имеет непредвиденное значение")
      утверждать!(существует(.timestamp), "временная метка не указана")
      утверждать!(is_timestamp(.timestamp), "временная метка недействительна")
      assert!(!exists(.other), "присутствует другое постороннее поле")
      '''
       

      Вы также можете хранить логические выражения в переменных, а не передавать весь оператор в функция утверждает :

       source = '''
      message_field_valid = существует(.сообщение) &&
        !is_nullish(.сообщение) &&
        .message == "успех"
      утверждать!(message_field_valid)
      '''
       

      Пример конфигурации модульного теста

      Ниже приведен аннотированный пример набора модульных тестов для преобразования с именем add_metadata , который добавляет уникальный идентификатор и метку времени в журнал событий:

       [sources. all_container_services]
      тип = "докер_логи"
      docker_host = "http://localhost:2375"
      include_images = ["web_frontend", "web_backend", "auth_service"]
      # Тестируемое преобразование представляет собой преобразование Vector Remap Language (VRL), которое
      # добавляет два поля к каждому входящему событию журнала: метка времени и уникальный идентификатор
      [transforms.add_metadata]
      тип = "переназначить"
      входы = ["all_container_services"]
      источник = '''
      .timestamp = сейчас ()
      .id = uuid_v4()
      '''
      # Здесь мы начинаем настраивать наш набор тестов
      [[тесты]]
      name = "Тест преобразования add_metadata"
      # Входные данные для теста
      [[tests.inputs]]
      insert_at = "add_metadata" # Преобразование, в которое вставляется событие тестирования
      type = "log" # Тип события (журнал или метрика)
      # Событие журнала тестирования, которое передается в преобразование `add_metadata`
      [tests.inputs.log_fields]
      сообщение = "успешная транзакция"
      код = 200
      # Ожидаемые результаты теста
      [[tests.outputs]]
      Extract_from = "add_metadata" # Преобразование, из которого извлекается результирующее событие
      # Декларация того, что мы ожидаем
      [[тесты. выходные.условия]]
      тип = "врл"
      источник = '''
      утверждать!(is_timestamp(.timestamp))
      утверждать!(is_string(.id))
      assert_eq!(.message, "успешная транзакция")
      '''
       

      Этот пример представляет собой полную проверку преобразования add_metadata , включая тест входных данных и ожидаемые выходные данные , взятые из конкретного преобразования.

      В этом модуле использовалось только одно векторное преобразование. Пример модульного теста с несколькими преобразованиями приведен ниже.

      Реальные и тестовые входные данные

      Важно отметить, что в этом примере конфигурация Vector настроена на получение реальных журналы из образов Docker с использованием docker_logs источник. Если бы Вектор работал в production, преобразование add_metadata , которое мы здесь тестируем, будет изменять реальные события журнала. Но мы тестируем , а не . Вместо этого директива insert_at = "add_metadata" искусственно вставляет наши тестовые входные данные в преобразование add_metadata . Вы должны думать о Векторе модульные тесты как способ имитировать источники данных наблюдаемости и гарантировать, что ваши преобразования отвечайте на эти фиктивные источники так, как вы ожидаете.

      Доступно несколько форматов конфигурации

      Приведенный выше пример модульного тестирования находится в TOML, но Vector также поддерживает YAML и JSON в качестве конфигурации форматы.

      Настройка модульных тестов

      Модульные тесты в Vector работают вместе с вашей конфигурацией топологии. Вы можете указать свои тесты в один и тот же файл конфигурации вместе с вашими определениями преобразования или разделите их в отдельный файл.

      Необходимость модульных тестов указана внутри массива тестов . Каждый тест требует имя :

       [[тесты]]
      имя = "тест 1"
      # Другая тестовая конфигурация
      [[тесты]]
      имя = "тест_2"
      # Другая тестовая конфигурация
      # и т. д.
       

      Внутри каждого определения теста необходимо указать две вещи:

      • Массив входных данных , который предоставляет входные события для теста.
      • Массив выводит , что обеспечивает ожидаемые результаты теста.

      Входы

      В входном массиве для теста у вас есть следующие опции:

      Параметр Тип Описание
      INSERT_AT STRNSTERSER. Это особенно полезно, когда вы хотите протестировать только подмножество конвейера преобразования.
      значение строка (необработанное значение события) Необработанное строковое значение для действия в качестве входного события. Используйте только в тех случаях, когда события представляют собой необработанные строки, а не структурированные объекты с полями событий.
      log_fields объект Если преобразование обрабатывает события журнала, это пары ключ/значение, составляющие входное событие.
      метрика объект Если преобразование обрабатывает события метрики, это поля, составляющие эту метрику. Подполя включают имя , теги , вид и другие.

      Вот пример вводов 9Объявление 0742:

       [transforms.add_metadata]
      # преобразовать конфиг
      [[тесты]]
      name = "Протестировать преобразование add_metadata"
      [[tests.inputs]]
      insert_at = "добавить_метаданные"
      [tests.inputs.log_fields]
      message = "<102>1 2020-12-22T15:22:31.111Z vector-user.biz su 2666 ID389 - Что-то пошло не так"
       

      Выходы

      В массиве выходных данных конфигурации модульного тестирования вы указываете две вещи:

      Параметр Тип Описание
      extract_from строка (имя преобразования) Преобразование, выходные данные которого вы хотите проверить.
      условия массив объектов Условия VRL для работы с выходными данными.

      Каждое условие в массиве условий имеет два поля:

      Параметр Тип Описание
      type string Тип условия, которое вы предоставляете. vrl в настоящее время является единственным допустимым значением.
      источник строка (логическое выражение VRL) Подробно объяснено выше.

      Вот пример выводит объявление :

       [[tests.outputs]]
      Extract_from = "добавить_метаданные"
      [[тесты.выходные.условия]]
      тип = "врл"
      источник = '''
      утверждать!(is_string(.id))
      утверждать!(существует(.теги))
      '''
       
      Подтверждение отсутствия вывода

      В некоторых случаях может потребоваться утверждение, что никакое событие не выводится преобразованием. Вы можете указать это на корневом уровне конфигурации конкретного теста с использованием параметра no_outputs_from , который принимает список имен преобразований. Вот пример:

       [[тесты]]
      name = "Убедиться, что нет вывода"
      no_outputs_from = ["log_filter", "metric_filter"]
       

      В этой тестовой конфигурации Vector ожидает, что log_filter и metric_filter преобразования не выводить любые события.

      Некоторые примеры использования no_outputs_from :

      • При тестировании преобразования фильтра вы можете утверждать, что вход событие отфильтровано
      • При тестировании преобразования remap вам может потребоваться подтвердить, что функция VRL прерывания вызывается, когда предоставленная программа VRL обрабатывает событие ввода

      Ниже приведен полный пример использования no_outputs_from в модульном тесте Vector:

       [transforms. log_filter]
      тип = "фильтр"
      входы = ["log_source"]
      условие = '.env == "производство"'
      [[тесты]]
      name = "Отфильтровать непроизводственные события"
      no_outputs_from = ["log_filter"]
      [[tests.inputs]]
      тип = "журнал"
      insert_at = "log_filter"
      [tests.inputs.log_fields]
      сообщение = "успех"
      код = 202
      конечная точка = "/ транзакции"
      метод = "ПОСТ"
      env = "постановка"
       

      Этот модульный тест проходит успешно, так как поле env события ввода имеет значение постановка , которая не выполняет условие фильтрации .env == "production" ; поскольку условие не выполнено, событие не вывод преобразования log_filter в этом случае.

      Типы событий

      В настоящее время существует два типа событий, которые можно тестировать в Vector:

      • журнал события
      • метрика события
      журналы

      Как объяснялось в разделе о входных данных выше, при тестировании событий журнала можно указать либо структурированный объект события, либо необработанная строка.

      Объект

      Чтобы указать событие структурированного журнала в качестве входных данных теста, используйте log_fields :

       [tests.inputs.log_fields]
      сообщение = "успешная транзакция"
      код = 200
      идентификатор = "38c5b0d0-5e7e-42aa-ae86-2b642ad2d1b8"
       

      Если в имени поля есть дефисы, вам нужно будет заключить эту часть в кавычки (по крайней мере, в YAML):

       - имя: дефисы
          входы:
            - insert_at: дефисы
              тип: журнал
              log_fields:
                labels."this-has-hyphens": "это тест"
       
      Необработанное строковое значение

      Чтобы указать необработанное строковое значение для события журнала, используйте значение :

       [[tests.inputs]]
      insert_at = "добавить_метаданные"
      value = "<102>1 2020-12-22T15:22:31. 111Z vector-user.biz su 2666 ID389 - Что-то пошло не так"
       
      Метрики

      Можно указать поля в событии метрики для модульного тестирования с использованием объекта метрики :

       [[tests.inputs]]
      insert_at = "my_metric_transform"
      тип = "метрика"
      [тесты.входы.метрика]
      имя = "количество"
      вид = "абсолютный"
      счетчик = {значение = 1}
       

      Агрегированные метрики немного другие:

       тестов:
        входы:
          insert_at: my_aggregate_metrics_transform
          тип: метрика
          метрика:
            имя: http_rtt
            вид: инкрементный
            агрегированная_гистограмма:
              ведра: []
              сумма: 0
              количество: 0
       

      Вот полный сквозной пример модульного тестирования метрики с помощью преобразования:

       [transforms.add_env_to_metric]
      тип = "переназначить"
      входы = []
      источник = '''
      env, ошибка = get_env_var("ENV")
      если ошибка != ноль {
        журнал (ошибка, уровень: "ошибка")
      }
      tags. environment = окружение
      '''
      [[тесты]]
      имя = "add_unique_id_test"
      [[tests.inputs]]
      insert_at = "add_unique_id_to_metric"
      тип = "метрика"
      [тесты.входы.метрика]
      имя = "веб-сайт_хиты"
      вид = "абсолютный"
      счетчик = {значение = 1}
      [[tests.outputs]]
      extract_from = "добавить_уникальный_id_к_метрике"
      [[тесты.выходные.условия]]
      тип = "врл"
      источник = '''
      assert_eq!(.name, "website_hits")
      assert_eq!(.kind, "абсолютный")
      assert_eq!(.tags.environment, "производство")
      '''
       

      Множественные преобразования

      Примеры, приведенные до сих пор в этом документе, включали модульное тестирование одного преобразования. Это также однако возможно проверить вывод нескольких объединенных в цепочку преобразований. Представьте себе сценарий в котором у вас есть преобразование с именем add_env_metadata , которое помечает событие средой метаданные, преобразование под названием sanitize , которое удаляет некоторые нежелательные поля, и, наконец, преобразование называется add_host_metadata , который помечает событие именем хоста. Ниже приведен пример модульного теста конфигурация для этого набора преобразований с пояснительными аннотациями:

      Вы можете заметить, что три преобразования в этом примере могут быть объединены в одно переназначение трансформировать. Их разделение на несколько преобразований здесь предназначено исключительно для демонстрационных целей.

       # Этот источник, как и все источники, игнорируется в самом модульном тесте
      [sources.web_backend]
      тип = "докер_логи"
      docker_host = "http://localhost:2375"
      include_images = ["веб_бэкенд"]
      # Первое преобразование в цепочке
      [transforms.add_env_metadata]
      тип = "переназначить"
      входы = ["веб_бэкенд"]
      источник = '''
      .tags.environment = "производство"
      '''
      # Второе преобразование в цепочке
      [трансформирует.дезинфицировать]
      тип = "переназначить"
      inputs = ["add_env_metadata"]
      источник = '''
      дел(.имя пользователя)
      del(.электронная почта)
      '''
      # Финальное преобразование в цепочке
      [transforms. add_host_metadata]
      тип = "переназначить"
      входы = ["санировать"]
      источник = '''
      .tags.host = "web-backend1.vector-user.biz"
      '''
      [[тесты]]
      name = "Несколько связанных преобразований переназначения"
      [[tests.inputs]]
      тип = "журнал"
      # Вставляем тестовые входные события в первое преобразование
      insert_at = "добавить_env_metadata"
      # Входное событие для вставки в первое преобразование в цепочке
      [tests.inputs.log_fields]
      message = "изображение успешно загружено"
      код = 202
      имя пользователя = "tonydanza1337"
      электронная почта = "[email protected]"
      transaction_id = "bcef6a6a-2b72-4a9а-99а0-97ае89д82815"
      [[tests.outputs]]
      # Извлечь тестовые результаты из последнего преобразования
      Extract_from = "добавить_хост_метаданные"
      [[тесты.выходные.условия]]
      тип = "врл"
      # Наши утверждения VRL для тестового вывода
      источник = '''
      assert_eq!(.tags.environment, "production", "неверный тег окружения")
      assert_eq!(.tags.host, "web-backend1.vector-user.biz", "неверный тег хоста")
      утверждать!(!Существует(.имя пользователя))
      утверждать!(!Существует(. email))
      valid_transaction_id = существует(.transaction_id) &&
        is_string(.transaction_id) &&
        длина!(.transaction_id) == 36
      assert!(valid_transaction_id, "ID транзакции недействителен")
      '''
       

      С точки зрения тестирования все три преобразования здесь можно рассматривать как единое целое. Один пример событие вставляется в начало цепочки ( add_env_metadata ), одно выходное тестовое событие извлекается из конца цепочки ( add_host_metadata ) и один набор VRL assertions проверяет, что это выходное событие соответствует нашим ожиданиям.

      Вы также можете протестировать подмножество этой цепочки преобразований. Эта конфигурация, например, будет тестировать только первые два преобразования ( add_env_metadata и очистка ):

       [[тесты]]
      name = "Первые два преобразования"
      [[tests.inputs]]
      тип = "журнал"
      # Вставляем тестовый ввод в первое преобразование
      insert_at = "добавить_env_metadata"
      # Для сравнения мы можем использовать то же событие ввода, что и выше
      [tests.