Sonarqube cucumber gherkin analyzer
Penafian
Saya tidak ingin terus memelihara plugin ini. Jangan ragu untuk melakukan ping saya jika Anda ingin mengambil alih.
Keterangan
Plugin Sonarqube ini menganalisis file fitur Cucumber Gherkin dan:
- Hitung metrik: baris kode, jumlah skenario, dll.
- Memeriksa berbagai pedoman untuk mengetahui potensi bug dan aroma kode melalui lebih dari 40 cek
- Memberikan kemampuan untuk menulis cek Anda sendiri
Penggunaan
- Unduh dan Instal Sonarquce
- Instal plugin Cucumber Gherkin dengan unduhan langsung. Versi terbaru kompatibel dengan Sonarqube 6.7+.
- Instal Pemindai Favorit Anda (Pemindai Sonarqube, Maven, Ant, dll.)
- Menganalisis kode Anda
Maven
Kemungkinan file fitur Anda tidak terletak di direktori kode sumber tetapi di direktori pengujian. Secara default, Sonarqube tidak menganalisis direktori pengujian tersebut. Dengan demikian, Anda harus secara eksplisit memberitahu SonarQUBU untuk juga menganalisis direktori uji yang berisi file fitur Anda.
Katakanlah struktur proyek Anda adalah:
pom.xml
src
|-- main
|-- java
|-- resources
|-- test
|-- java
|-- resources
|-- features
|-- my-feature.feature
|-- my-other-feature.feature
Di file pom Anda, Anda perlu menambahkan:
<properties>
<sonar.sources>pom.xml,src/main/java,src/main/resources,src/test/resources/features</sonar.sources>
</properties>
Pemeriksaan khusus
Anda sedang memikirkan aturan berharga baru? Versi 1.0 atau lebih besar menyediakan API untuk menulis cek khusus Anda sendiri. Plugin sampel dengan penjelasan terperinci tersedia di sini. Jika aturan khusus Anda dapat menguntungkan masyarakat, jangan ragu untuk membuat permintaan tarik untuk membuat aturan tersedia di Cucumber Gherkin Analyzer.
Anda memikirkan aturan baru yang mungkin bermanfaat bagi masyarakat tetapi tidak punya waktu atau keterampilan untuk menulisnya? Jangan ragu untuk membuat masalah agar aturan Anda dipertimbangkan.
Metrik
Pernyataan
Jumlah langkah.
Fungsi
Jumlah skenario dan garis besar skenario.
Kelas
Jumlah fitur.
Aturan yang tersedia
- Tag "fixme" harus ditangani
- Tag "todo" harus ditangani
- Semua komentar harus diformat secara konsisten
- Dan dan tetapi awalan harus digunakan sebagai ganti yang diberikan berlebihan/kapan/kemudian awalan
- Byte Order Mark (BOM) tidak boleh digunakan untuk file UTF-8
- Langkah -langkah umum yang diberikan harus ditambahkan ke latar belakang
- Langkah -langkah yang digandakan harus dilepas
- Karakter akhir harus konsisten
- Contoh Tabel data harus berisi data setidaknya dua baris data
- Fitur harus ditulis dalam bahasa yang sama
- Fitur harus memiliki deskripsi
- Fitur harus memiliki nama
- Fitur harus memiliki nama yang unik
- Fitur tidak boleh mengandung terlalu banyak skenario
- Fitur yang tidak menentukan skenario apa pun harus dihapus
- Nama file harus mematuhi konvensi penamaan
- File harus berisi baris baru yang kosong di akhir
- File yang tidak menentukan fitur apa pun harus dihapus
- Langkah yang diberikan harus mengikuti ekspresi reguler
- Diberikan/kapan/kemudian langkah harus ditentukan dalam urutan yang benar
- Garis seharusnya tidak berakhir dengan lintasan putih
- Kolom tabel data yang hilang harus ditambahkan
- Langkah-langkah non-given harus dipindahkan dari latar belakang
- Hanya tag dari daftar putih yang harus digunakan
- Ekspresi reguler tentang komentar
- Skenario harus mendefinisikan setidaknya satu dari masing -masing tipe yang diberikan/kapan/lalu langkah
- Skenario harus memiliki nama
- Skenario harus memiliki nama yang unik
- Skenario tidak boleh berisi terlalu banyak langkah
- Skenario yang tidak menentukan langkah apa pun harus dihapus
- Kode sumber harus diberi indentasi dengan benar
- Kesalahan ejaan harus diperbaiki
- Bintang (*) awalan langkah tidak boleh digunakan
- Kalimat Langkah seharusnya tidak terlalu lama
- Langkah -langkah tipe yang tidak diketahui tidak boleh digunakan
- Karakter tabulasi tidak boleh digunakan
- Tag harus didefinisikan di level yang tepat
- Tag harus mematuhi konvensi penamaan
- Tag tidak boleh diatur pada contoh
- Maka langkah harus mengikuti ekspresi reguler
- Harus ada satu single saat langkah per skenario
- Variabel yang tidak digunakan harus dihapus
- Tag yang tidak berguna harus dihapus
- Kapan langkah harus mengikuti ekspresi reguler
- Kata -kata harus tetap di tingkat bisnis