Saya mengalami masalah pengurutan saat menulis tes BDD dengan API kami (Spring+Hibernate). Kami menggunakan JBehave sebagai pelari BDD dan db HSQL.
Pada dasarnya saya telah membuat kasus berikut untuk menjelaskan masalah yang saya temui.
Saya punya dua cerita. Kedua cerita tersebut disisipkan ke tabel bernama DUMMYPRODUK. Kami menetapkan bahwa sebelum setiap skenario kami menghapus semua data dan mengatur ulang skema menggunakan yang berikut ini,
"POTONG IDENTITAS PUBLIK RESTART SCHEMA DAN TANPA PERIKSA"
Dan kemudian kami menginisialisasi ulang Data Tabel menggunakan skrip sql yang telah ditentukan sebelumnya yang mencakup 2 sisipan ke DUMMYproduct,
Dan Mereset urutan (seharusnya) menggunakan
HAPUS URUTAN DUMMYproduct_SEQ; BUAT URUTAN DUMMYPRODUK_SEQ MULAI DENGAN 3 PENINGKATAN 10;
Tapi saya menghadapi perilaku yang sangat aneh karena urutan antara cerita dan skenario tidak diatur ulang. Sebaliknya mereka tampaknya melanjutkan ke cerita/skenario berikutnya dan kemudian mengatur ulang di dalamnya, yaitu. tidak masuk ke blok urutan berikutnya, menyebabkan terjadinya pelanggaran batasan.
pengecualian=java.sql.SQLIntegrityConstraintViolationException: pelanggaran batasan integritas: batasan unik atau pelanggaran indeks; Tabel SYS_PK_10216: DUMMYPRODUK
Perilaku yang dialami dimasukkan ke dalam DUMMYPRODUK untuk DUMMYPRODUKID
(DUMMYPRODUKID)
Cerita pertama
Skenario
3
4
cerita berikutnya
Skenario
5
6< br/> 7
8
9
10
11
12
3
4
5 pengecualian
7 pengecualian
9 pengecualian
Skenario
11
12
3
4
5
6
7
8
9
10
11 pengecualian
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Skenario
27
28
29
30
31
32
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 pengecualian< br/> 29 pengecualian
Pernahkah Anda mengalami masalah seperti itu di masa lalu dengan implementasi HSQL Anda?