WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
Check
Тип Инструмент модульного тестирования
Написана на Си
Операционная система Linux, macOS, Windows
Последняя версия 0.10.0 (2 августа 2015)
Состояние активное
Лицензия LGPLv3
Сайт libcheck.github.io/check/

Check — библиотека модульного тестирования в стиле xUnit для программ, написанных на языке Си. Распространяется с открытыми исходными тестами под свободной лицензией. Основной философией проекта является покрытие всех возможностей системы тестирования модульными тестами. Поддерживает запуск тестов в отдельных процессах (через системный вызов fork() в ОС Linux[1]) для возможности определения некорректного завершения тестов (например, по ошибке сегментирования).

Пример программы тестирования

Для того, чтобы написать программу тестирования, необходимо подключить заголовочный файл библиотеки check.h, написать функции тестирования, распределить их по группам, а группы распределить по тестовым наборам. После проведения тестирования можно получить количество тестов, которые оказались неудачными.

 1 #include <stdlib.h>
 2 // Подключаем заголовочный файл библиотеки.
 3 #include <check.h>
 4 
 5 // Функция тестирования какой-либо задачи.
 6 START_TEST(test_name)
 7 {
 8   /* Исходный код теста. */
 9 }
10 END_TEST
11 
12 // Функция создания набора тестов.
13 Suite *example_suite_create(void)
14 {
15     Suite *suite = suite_create("Example");
16     // Набор разбивается на группы тестов, разделённых по каким-либо критериям.
17     TCase *tcase_core = tcase_create("Core of example");
18     
19     // Добавление теста в группу тестов.
20     tcase_add_test(tcase_core, test_name);
21     
22     // Добавление теста в тестовый набор.
23     suite_add_tcase(suite, tcase_core);
24     
25     return suite;
26 }
27 
28 int main(void)
29 {
30     Suite *suite = example_suite_create();
31     SRunner *suite_runner = srunner_create(suite);
32     
33     srunner_run_all(suite_runner, CK_NORMAL);
34     // Получаем количество проваленных тестов.
35     failed_count = srunner_ntests_failed(suite_runner);
36     srunner_free(suite_runner);
37     
38     if (failed_count != 0) {
39         // Сигнализируем о том, что тестирование прошло неудачно.
40         return EXIT_FAILURE;
41     }
42 
43     return EXIT_SUCCESS;
44 }

См. также

Примечания

  1. Check 0.10.0: 3 Tutorial: Basic Unit Testing. libcheck.github.io. Проверено 13 ноября 2016.

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии