настройка модульного тестирования кода Arduino в Eclipse - PullRequest
0 голосов
/ 23 сентября 2019

Прежде чем уйти в отставку, я успешно ввел в Eclipse модульное тестирование для встроенной перекрестной скомпилированной цели для своей команды на основе книги Джеймса У. Греннинга, основанной на тестовой разработке для Embedded C

Теперь яжелая сделать то же самое для моих собственных проектов Arduino, но я наткнулся на небольшую загадку

У меня есть плагин Eclipse Arduino, работающий над примером проекта (целевой проект) - функции и классы, которые будутмодульные тесты находятся в отдельной папке в этом проекте (так называемое «приложение»)

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

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

I'vПервоначально мы работали над этим, удаляя из целевых функций и классов, и единственное, что нужно до сих пор, - это изменить определения типов Arduino, такие как 'byte', на стандартный C 'unsigned char' - они затем прекрасно копируются в обоих проектах и ​​тестахrun and pass

Но мне не особо нравится менять тип defs, и я хотел бы иметь возможность включать и сохранять код в обычном Arduino 'style'

., вопрос в том - есть ли лучший способ сделать это?

Я действительно думал, что смогу добавить библиотеки CppUTest в проект Arduino Eclipse, как тестовый проект, но там, кажется, нетчтобы можно было добавить библиотеку и включить пути в проект Arduino, как вы можете с проектом ac / c ++, и я не вижу простого способа добавить все необходимые заголовочные файлы Arduino в стандартный проект C ++, особенно, как я считаю,некоторые заголовки зависят от выбранной платформы Arduino, которая, конечно, не поддерживается в стандартном проекте C ++

Было бы неплохо иметь общее решение для этого, чтобы я мог создавать другие тестовые проекты с другими системами модульного тестирования, так как мои бывшие коллеги перешли на систему модульных тестов Cxx, и есть другие (например, Google), которые яХотелось бы попробовать

Ждем ваших предложений

...