Тест на вектор: Тест на психологические векторы (тест Толкачева-Бородянского), бесплатно — 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 позволяет выполнять модульное тестирование преобразований в конвейере обработки. Модульные тесты в векторе работают точно так же, как модульные тесты в большинстве языков программирования:
- Предоставляют набор входных данных для преобразования (или для нескольких объединенных в цепочку преобразований). вместе).
- Укажите ожидаемые результаты изменений, внесенных преобразованием (или несколькими трансформируется).
- Получайте оперативную информацию о любых сбоях теста.
Модульные тесты могут служить полезным ограждением при работе в 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.
- Массив