Я недавно начал работать над проектом, написанным на языке C. Чтобы добавить примеры модульных тестов, я искал C инфраструктуры модульных тестов и наткнулся на этот ответ C -unittest-frameworks . Поэтому я выбрал mocka и установил его из шагов установки . Но я знаю, как запустить письменные тесты. Может ли кто-нибудь помочь мне запустить из командной строки (команда G CC) простой случай устройства ниже:
#include <stdarg.h>
#include <stddef.h>
#include <setjmp.h>
#include <cmocka.h> /* A test case that does nothing and succeeds. */
static void null_test_success(void **state) {
(void) state; /* unused */
}
int main(void) {
const struct CMUnitTest tests[] = {
cmocka_unit_test(null_test_success),
};
return cmocka_run_group_tests(tests, NULL, NULL);
}
И к вашему сведению я имею в виду cmocka . И, пожалуйста, позвольте мне, какие зависимости требуются кроме G CC и cmocka. Или любая переменная окружения должна быть задана для путей LD и т. Д. c.
Чтобы обновить этот вопрос, я выполнил следующие шаги:
1. git clone https://gitlab.com/cmocka/cmocka.git
2. cd cmocka && mkdir -p build && cd build/
3. cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Debug -DUNIT_TESTING=ON ..
4. make && make install
В конце концов, шаги, если в build dir I выполнить ctest tests / , он запускает все тестовые случаи. Теперь я застрял на том, как выполнить те же шаги для моего проекта и запустить фиктивный юнит-тест.