Memprogram mikrokontroler? Baca tentang TDD atau hanya lelah mencari bug dan menulis ulang kode lagi?
Sobat, coba tesnya.
Artikel ini akan menunjukkan cara mengintegrasikan Ceedling ke Eclipse / SW4STM32 sehingga kode melewati tes selama setiap pembuatan.
Apa yang mendorong saya untuk menulis artikel?Saya tidak dapat menemukan instruksi yang terperinci, tetapi saya tidak dapat mengikuti instruksi yang ditemukan, karena isinya yang dangkal atau ketinggalan jaman (misalnya, ceedling tidak lagi dijalankan oleh perintah rake).
Instruksi untuk mengintegrasikan ceedling ke gerhana dari pengembang sangat sedikit dan satu-satunya instruksi yang ditemukan dibayar (ini adalah tantangan terakhir):

Instalasi
Misalnya, OS Windows, CubeMX dan SW4STM32.
Instal ChocolateyBuka PowerShell.exe dan jalankan:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

Instal MinGWBuka PowerShell.exe dan jalankan:
choco install mingw
Instal rubyBuka PowerShell.exe dan jalankan:
choco install ruby
Instal gem ceedlingMulai ulang PowerShell!
Buka PowerShell.exe dan jalankan:
gem install ceedling
Pemeriksaan KesehatanBuka PowerShell.exe dan jalankan:
cd /
ceedling new test_ceedling
cd test_ceedling
ceedling test:all

Pembuatan proyek
Buat proyek menggunakan CubeMXBuat proyek di CubeMX di bawah toolchain / ide
SW4STM32.Jalankan CubeMX atas nama administrator untuk membuat proyek di direktori C: /
Aplikasi structere -> lanjutan (jika tidak proyek tidak langsung berkumpul).

Kami menginisialisasi ceedling ke dalam proyek:
cd /
ceedling new test_ceedling
Mari kita buat struktur berikut dan c./h dalam proyek. file, tambahkan path ke project.yml:

Tambahkan lokasi sumber & termasuk Buat Builder baru:

Argumen -> tes: semua

Luncurkan
Buat jendela konsol lain untuk pengujian:

Alihkan untuk menampilkan hasil pembuat Ceedling:

Tekan ctrl + B dan lihat hasil tes di konsol:

Tambahkan periferal
Seringkali, hasil suatu fungsi tergantung pada komponen eksternal.
Selain alat uji generasi, Unity, Ceedling mendukung CMock, generator benda tiruan dan bertopik.
Bayangkan bahwa kalkulator kami saat menghitung perbedaan,
a - b
jika tombol ditekan, itu dianggap berbeda.
b - a
Maka dalam hal ini, pengujian kami mungkin terlihat seperti ini:

Fungsi verifikasi klik tombol telah dinyatakan tetapi tidak diterapkan (tidak tertulis).
Tekan ctrl + B dan lihat hasil tes di konsol:

Dalam hal ini, kami membuat tiruan tombol, sebagai pengganti mungkin ada UART, SPI, I2C, dll.
Kesimpulan
Sekarang, dengan setiap rakitan aplikasi di kanan di sudut, Anda dapat mengamati hasil tes yang dilakukan:
