Я разрабатываю своего рода unittest
каркас для внешнего hardware
, включая бегун для теста. Термин «оборудование» означает, что тесты не тестируют программное обеспечение на хосте - они тестируют реализацию на внешнем оборудовании, на microcontrollers
.Написание пользовательских тестовых фреймов
В C#
unittests всегда объявляется с attributes
, а не с помощью тестового теста interface
.
Мой вопрос дизайна - какое решение я должен использовать для нового дизайна?
Edit: Причина пользовательского кода ядра является то, что тест бегуна есть что-то вроде следующего поведения:
foreach(var tc in testcases)
foreach(var temp in temperatures)
SetTemperature(temp);
foreach(var position in positions)
GotoPosition(position);
DoTestcase(tc);
Почему бы не использовать стандартную тестовую структуру? Понимание того, почему нынешние рамки «наилучшей практики» не отвечают вашим потребностям, может пролить свет на правильный путь вперед. –
Конечно, я бы сделал это, если бы мог. Основная проблема заключается в том, что тестовые случаи необходимо выполнять на нескольких позициях (для этого есть место для робота) и во многих температурах (термокамера). Это не может быть интегрировано в «стандартные» рамки. – Razer
Очевидно, я не знаю подробностей здесь, но то, о чем вы говорите, звучит как проблема с настройкой теста. Настройка теста может управляться пользовательским кодом с использованием большинства фреймворков (например, XUnit). Если вы не будете запускать сам тестовый код на каком-то странном аппаратном обеспечении, я изо всех сил стараюсь понять необходимость создания ядра тестовой среды, а не расширения существующего. В любом случае наилучшей практикой является почти наверняка практика, реализуемая такими структурами, как XUnit, поэтому вы можете также посмотреть на их код. –