Memandangkan trend ke arah aplikasi yang diedarkan berterusan, ujian aplikasi Java telah menjadi semakin kompleks. Sistem yang diedarkan melibatkan banyak perkhidmatan mikro, menjadikannya penting untuk memastikan konsistensi, mengurus kegagalan dan mengesahkan integriti data merentas semua komponen. Ujian menyeluruh dari hujung ke hujung adalah penting untuk menjamin aplikasi berfungsi seperti yang diharapkan.
Pembangunan Didorong Tingkah Laku (BDD) menangani cabaran ini dengan mentakrifkan tingkah laku aplikasi dalam bahasa semula jadi, memudahkan penjelasan dan pemahaman kes ujian untuk aplikasi yang diedarkan.
Walau bagaimanapun, penyepaduan BDD ke dalam menguji aplikasi Java yang diedarkan memberikan set cabarannya sendiri. Mengekalkan senario BDD untuk berbilang perkhidmatan, mengatur persekitaran ujian dan mengurus perkhidmatan serta data ujian boleh menjadi tugas yang menakutkan.
Dalam catatan blog ini, kami akan meneroka cara Testkube boleh menyelaraskan ujian BDD menggunakan Cucumber untuk aplikasi Java yang diedarkan, menjadikan proses lebih cekap dan terurus.
Timun adalah salah satu alat ujian BDD yang digunakan secara meluas. Ia menggunakan Gherkin, yang membolehkan pasukan mentakrifkan ciri aplikasi menggunakan bahasa semula jadi. Ia termasuk sokongan untuk bahasa pengaturcaraan yang berbeza, termasuk Java. Ia juga disepadukan dengan baik dengan rangka kerja pembangunan popular, menjadikannya pilihan yang popular. Akhir sekali, ia menjana laporan terperinci, memberikan anda cerapan tentang ujian.
Walaupun Timun ialah alat yang hebat untuk melaksanakan BDD, ia mempunyai cabaran semasa menguji aplikasi yang diedarkan, terutamanya dalam persekitaran Kubernetes.
Mengendalikan data ujian boleh menjadi menakutkan, terutamanya dalam persekitaran yang diedarkan seperti Kubernetes. Timun memerlukan perkongsian data keadaan dan ujian antara langkah, dengan itu memastikan pengasingan adalah kompleks namun kritikal.
Sumber seperti pengiraan, memori dan storan diperuntukkan secara dinamik dalam Kubernetes. Timun memerlukan akses kepada sumber ini dan mengkonfigurasi perkara ini sukar.
Mengagregatkan keputusan ujian daripada larian ujian Timun yang diedarkan adalah mencabar dan mungkin memerlukan persediaan tambahan untuk membawa kesemuanya di bawah satu papan pemuka.
Semasa Kubernetes mengautomasikan penggunaan, penskalaan dan pengurusan apl, ia menambahkan lapisan abstraksi tambahan yang perlu diuruskan bersama-sama dengan mengkonfigurasi Timun untuk berfungsi dengannya. Di sinilah alat seperti Testkube muncul dalam gambar.
Testkube menyediakan rangka kerja ujian bersatu yang dibina untuk Kubernetes bagi memudahkan dan menyelaraskan keseluruhan proses ujian. Pasukan ujian boleh menyimpan, melaksanakan dan mengurus ujian pada kelompok Kubernetes. Ia mentakrifkan ujian sebagai CRD Kubernetes untuk menyediakan penyelesaian moden untuk mengurus semua ujian dan penskalaan anda apabila diperlukan.
Dengan Testkube, anda boleh mencipta Aliran Kerja Ujian yang merangkumi segala-galanya daripada menyediakan komponen infrastruktur yang diperlukan kepada menyepadukan dengan lancar dengan alatan ujian lain dan mengatur ujian yang kompleks. Rujuk Aliran Kerja Ujian kami untuk mengetahui lebih lanjut.
Mari kita periksa cara menggunakan Timun dengan Testkube untuk ujian BDD. Kami akan membuat aliran kerja Ujian menggunakan Gradle dan menyepadukan ujian Timun ke dalamnya.
Repo ini mengandungi semua fail yang diperlukan untuk contoh ini.
Dapatkan akaun Testkube.
Kluster Kubernetes - kami menggunakan kluster Minikube tempatan.
Ejen Testkube dikonfigurasikan pada kelompok.
Setelah prasyarat disediakan, anda seharusnya menyediakan kluster Kubernetes sasaran dengan ejen Testkube dikonfigurasikan.
Navigasi ke tab Aliran Kerja Ujian dan klik pada “Tambah aliran kerja ujian baharu”.
Ini akan memberikan anda tiga pilihan:
Buat dari awal - gunakan wizard untuk mencipta Aliran Kerja Ujian.
Mulakan daripada contoh - gunakan contoh k6, cypress dan penulis drama sedia ada.
Import daripada yaml - import Aliran Kerja Ujian anda sendiri.
Kami akan memilih pilihan "buat dari awal" untuk mencipta aliran kerja ini.
Berikan nama untuk aliran kerja dan pilih jenis sebagai Gradle.
Sediakan arahan run. Dalam kes ini, kami akan menyediakan ujian gradle.
Sediakan versi Gradle, kami akan menggunakan 8.5.0-jdk11.
Pada skrin seterusnya, sediakan sumber untuk fail ujian. Ini sama ada boleh menjadi Git Repo, String, atau fail. Dalam kes ini, kami akan menggunakan repo Git.
Pada skrin seterusnya, ia akan menjana fail spec yaml dan memaparkan output.
Kami akan mengemas kini yaml dengan menambahkan syarat: sentiasa dalam langkah artifak untuk memastikan log sentiasa dikumpul, tidak kira sama ada sebarang langkah gagal.
kind: TestWorkflow apiVersion: testworkflows.testkube.io/v1 metadata: name: gradle-cucumber namespace: testkube labels: test-workflow-templates: "yes" spec: use: - name: official--gradle--beta config: run: gradle test version: 8.5.0-jdk11 content: git: uri:<a href="https://github.com/kubeshop/testkube-examples.git"> https://github.com/kubeshop/testkube-examples.git</a> revision: main paths: - Cucumber Test Using Gradle container: workingDir: /data/repo/Cucumber Test Using Gradle steps: - condition: always artifacts: paths: - '**/*'
Fail YAML adalah penjelasan sendiri kerana ia menyenaraikan butiran yang anda berikan dalam YAML. Di bawah ialah fail ciri Timun yang menerangkan perkara yang kami uji.
Feature: Hello World Scenario: Print Hello World Given I have a working hello world example When I run the hello world example Then I should see "Hello World" on the console
Repo mengandungi fail lain, termasuk langkah ujian dan pelari ujian, yang mengandungi kod berkaitan untuk melaksanakan ujian Timun.
Klik pada "Buat" untuk mencipta aliran kerja ujian.
Setelah aliran kerja sedia, anda akan melihat aliran kerja ujian yang baru dibuat pada skrin. Klik padanya dan klik "Jalankan Sekarang" untuk memulakan aliran kerja.
Anda akan melihat aliran kerja dilaksanakan bersama-sama dengan log masa nyata setiap langkah.
Anda akan melihat keputusan ujian berdasarkan pelaksanaan ujian. Dalam kes ini, kami mengubah suai ujian untuk gagal, dan oleh itu, anda akan melihat kegagalannya.
Memandangkan kami telah mengkonfigurasi artifak untuk ini, anda boleh menavigasi ke tab artifak dan melihat laporan yang dihasilkan oleh Timun. Testkube menyimpan laporan ini untuk setiap pelaksanaan, menjadikannya lebih mudah untuk menganalisis ujian.
Ini ialah demo mudah untuk mencipta Aliran Kerja Ujian Timun menggunakan ujian Gradle untuk Kubernetes. Untuk memanfaatkan lebih banyak aliran kerja ujian, anda boleh membuat aliran kerja tersuai dan mengimportnya ke Testkube.
Siaran ini meringkaskan selok-belok menjalankan ujian BDD untuk menguji aplikasi Java yang diedarkan. Kami melihat Timun, alat ujian BDD yang popular dan kerumitan menjalankannya pada Kubernetes.
Kami juga meneroka Aliran Kerja Ujian, yang membawa keseluruhan aliran kerja ujian ke dalam satu fail yang membolehkan anda mengurus semua aspek ujian anda. Demo menunjukkan cara menggunakan Timun untuk Ujian BDD bagi aplikasi Java.
Lawati tapak web Testkube untuk mengetahui lebih lanjut tentang alat ujian lain yang boleh anda sepadukan. Jika anda bergelut dengan apa-apa, sila hantar nota dalam komuniti Slack kami yang aktif.
Atas ialah kandungan terperinci Permudahkan Ujian BDD untuk Aplikasi Java Teragih dengan Testkube. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!