ميكروكنترولر البرمجة؟ قرأت عن TDD أو تعبت من البحث عن الأخطاء وإعادة كتابة الكود مرة أخرى؟
صديق ، جرب الاختبارات.
ستوضح هذه المقالة كيفية دمج Ceedling في Eclipse / SW4STM32 بحيث يمر الرمز خلال الاختبارات أثناء كل بناء.
ما الذي دفعني إلى كتابة مقال؟لم أتمكن من العثور على إرشادات مفصلة ، لكني لم أتمكن من اتباع الإرشادات الموجودة ، نظرًا لمحتوياتها السطحية أو التي عفا عليها الزمن (على سبيل المثال ، لم يعد يتم تشغيل ceedling بواسطة أمر الخليع).
تعتبر تعليمات دمج ceedling في الكسوف من المطورين ضئيلة للغاية والتعليمات الوحيدة التي تم دفعها كانت (القشة الأخيرة):

التثبيت
على سبيل المثال ، نظام التشغيل Windows و CubeMX و SW4STM32.
تثبيت Chocolateyافتح PowerShell.exe وقم بتنفيذ:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

تثبيت MinGWافتح PowerShell.exe وقم بتنفيذ:
choco install mingw
تثبيت روبيافتح PowerShell.exe وقم بتنفيذ:
choco install ruby
تثبيت الأحجار الكريمة ceedlingإعادة تشغيل PowerShell!
افتح PowerShell.exe وقم بتنفيذ:
gem install ceedling
فحص الصحةافتح PowerShell.exe وقم بتنفيذ:
cd /
ceedling new test_ceedling
cd test_ceedling
ceedling test:all

إنشاء المشروع
إنشاء مشروع باستخدام CubeMXإنشاء مشروع في CubeMX تحت toolchain / IDE
SW4STM32.قم بتشغيل CubeMX نيابة عن المسؤول لإنشاء مشروع في الدليل C: /
هيكل التطبيق -> متقدم (وإلا فإن المشروع لا يجمع على الفور).

نهيئ ceedling في المشروع:
cd /
ceedling new test_ceedling
لنقم بإنشاء الهيكل التالي و / س في المشروع. الملفات ، أضف المسارات إلى project.yml:

إنشاء منشئ جديد:

الحجج -> الاختبار: الكل

إطلاق
إنشاء نافذة وحدة تحكم أخرى للاختبارات:

بدّله لعرض نتائج باني Ceedling:

اضغط على ctrl + B وشاهد نتائج الاختبار في وحدة التحكم:

إضافة الأجهزة الطرفية
غالبًا ما تعتمد نتيجة الوظيفة على المكونات الخارجية.
بالإضافة إلى أداة إنشاء الاختبار ، يدعم Unity، Ceedling CMock ، وهو مولد للكائنات وهمية والأشياء الرقيقة.
تخيل أن الآلة الحاسبة لدينا عند حساب الفرق ،
a - b
إذا تم الضغط على الزر ، فهو يعتبر بشكل مختلف.
b - a
ثم في هذه الحالة ، قد تبدو اختباراتنا كما يلي:

تم الإعلان عن وظيفة التحقق من النقر على الزر ولكنها لم تنفذ (لم تتم كتابتها).
اضغط على ctrl + B وشاهد نتائج الاختبار في وحدة التحكم:

في هذه الحالة ، أنشأنا تقليدًا للزر ، بدلاً من ذلك قد يكون هناك UART أو SPI أو I2C ، إلخ.
الخاتمة
الآن ، مع كل مجموعة تطبيقات على اليمين في الزاوية ، يمكنك ملاحظة نتيجة الاختبارات التي تم إجراؤها:
