Ceedling + Eclipse atau unit test untuk mikrokontroler

gambar


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):
gambar

Instalasi


Misalnya, OS Windows, CubeMX dan SW4STM32.

Instal Chocolatey
Buka PowerShell.exe dan jalankan:

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) 

gambar

Instal MinGW
Buka PowerShell.exe dan jalankan:
 choco install mingw 


Instal ruby
Buka PowerShell.exe dan jalankan:
 choco install ruby 


Instal gem ceedling
Mulai ulang PowerShell!

Buka PowerShell.exe dan jalankan:
 gem install ceedling 


Pemeriksaan Kesehatan
Buka PowerShell.exe dan jalankan:

 cd / 

 ceedling new test_ceedling 

 cd test_ceedling 

 ceedling test:all 

gambar

Pembuatan proyek


Buat proyek menggunakan CubeMX
Buat 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).

gambar

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:

gambar

Tambahkan lokasi sumber & termasuk
gambar

gambar

Buat Builder baru:

gambar

Argumen -> tes: semua

gambar

Luncurkan


Buat jendela konsol lain untuk pengujian:

gambar

Alihkan untuk menampilkan hasil pembuat Ceedling:

gambar

Tekan ctrl + B dan lihat hasil tes di konsol:

gambar

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:

gambar

Fungsi verifikasi klik tombol telah dinyatakan tetapi tidak diterapkan (tidak tertulis).

Tekan ctrl + B dan lihat hasil tes di konsol:

gambar

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:

gambar

Source: https://habr.com/ru/post/id441268/


All Articles