Testng: Testcases rusak dalam file XML di folder junitreport saat menggunakan testng

Dibuat pada 5 Des 2016  ·  24Komentar  ·  Sumber: cbeust/testng

TestNG Versi 6.9.10 dan 6.9.13.6

Catatan: hanya versi terbaru yang didukung

Perilaku yang diharapkan

testcase harus memiliki urutan yang sama dengan test case yang dijalankan

Perilaku sebenarnya

urutan acak setiap kali dan testng-results.xml benar yang tidak dapat digunakan untuk laporan junit saat menggunakan semut dan maven

Apakah masalah dapat direproduksi pada runner?

  • [ ] Kerang
  • [x] Maven
  • [ ] Gradle
  • [x] Semut
  • [ ] Gerhana
  • [ ] IntelliJ
  • [x] NetBeans

Contoh kasus uji

>
Bagian dari testcase saya

    @Test(priority = 1)
    public void testRoles001_Post() {
       *******
    }

    @Test(priority = 2)
    public void testRoles002_Post() {
       *******
    }
    @Test(priority = 3)
    public void testRoles003_Post() {
       *******
    }
    @Test(priority = 4)
    public void testRoles004_Post() {
       *******
    }

tapi junitreports yang ditampilkan tidak berurutan seperti di bawah ini

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- Generated by org.testng.reporters.JUnitReportReporter -->
    <testsuite name="com.test.rest.testcase.common.RolesRestTest" tests="14" failures="0" timestamp="3 Dec 2016 16:13:35 GMT" time="38.868" errors="0">
       <testcase name="testRoles004_Post" time="2.596" classname="com...test.rest.testcase.common.RolesRestTest"/>
       <testcase name="testRoles002_Post" time="1.224" classname="com...test.rest.testcase.common.RolesRestTest"/>
       <testcase name="testRoles003_Post" time="0.764" classname="com...test.rest.testcase.common.RolesRestTest"/>
      <testcase name="testRoles001_Post" time="2.680" classname="com...test.rest.testcase.common.RolesRestTest"/>
    </testsuite> 

Saya ingin menggunakan file ant dan XML di folder junitreport untuk menghasilkan html, jika urutannya acak setiap kali, itu
akan bingung ketika laporan itu dilihat oleh orang lain
git-issue

laporan pengujian
testng

junit report

Semua 24 komentar

@gaoqiang0306 - Bisakah Anda membantu menambahkan beberapa kejelasan tentang mengapa Anda merasa bahwa urutan eksekusi jika berbeda dalam laporan xml akan membingungkan pengguna? Mengapa urutan begitu penting di sini? Hanya ingin tahu mendengar bagian ini karena saya mengerti JUnit tidak memiliki ketergantungan tes, jadi urutan seharusnya tidak terlalu penting dalam laporan.

@krmahadevan Pada awalnya, kami melakukan UT dengan Junit 4 dan @FixMethodOrder dapat digunakan yang dapat digunakan seperti ketergantungan , sehingga urutan laporannya seperti 001,002.003, 004. Baru-baru ini, tim Manajer QA ingin kami pindah ke TestNG karena lebih kuat, tetapi urutan dalam XML acak, mereka mungkin bingung mengapa. Jadi menurut saya, urutan testcases harus sama dengan yang ditunjukkan testng-results.xml, ikuti urutan yang kami definisikan dalam test case kami. Terima kasih atas dukunganmu.

Saya pikir laporan pengujian dan junit harus, setidaknya, memiliki urutan hasil yang sama.
@gaoqiang0306 Bisakah Anda bergabung dengan laporan pengujian sampel Anda juga?

@juherr Selesai, silahkan dicek.

@krmahadevan Apakah Anda sudah melihatnya? Saya pikir ini bisa menjadi peluang bagus untuk XmlJUnitReporter2 . WDYT?

@juherr saya belum melihatnya. Saya akan melihat dan memperbarui.

@juherr - Mengapa tidak memperbaikinya di JUnitReportReporter saat ini alih-alih membuat yang lain? Jika kita akan mencoba memperbaiki urutan tes yang tercantum dalam xml, maka kita seharusnya tidak berdampak pada pengguna akhir, bukan? Karena saya pikir konsumsi xml seharusnya tidak terpengaruh berdasarkan urutan node. Tolong beritahu saya. Berdasarkan apa yang kami putuskan, saya akan melangkah lebih jauh.

Saya melihat sekilas dan saya pikir perubahannya mungkin sama pentingnya dengan menulis ulang. Tapi mungkin saya salah juga ;)

@juherr - Saya dapat melakukan pemesanan hanya dengan memperkenalkan Comparator dan beralih ke penyortiran menggunakan Priority . Saya juga sudah menyiapkan kodenya di rumah. Saya mungkin akan menaikkan PR sehingga menambah kejelasan apa yang saya bicarakan. Saya akan menaikkan PR segera setelah saya pulang. Tetapi semua asumsi ini didasarkan pada fakta bahwa pengguna akhir tidak akan terpengaruh jika urutan testcase diubah ketika pengujian mereka tidak melibatkan prioritas (karena komparator saya akan mengurutkan berdasarkan prioritas )

Saya tidak yakin semacam prioritas akan cukup. Dan permintaannya adalah memiliki urutan yang sama dengan laporan pengujian. (Saya tidak memeriksa bagaimana itu diurutkan di sana)

@juherr - Saya tidak berpikir bahwa pengguna mengharapkan kesamaan antara laporan TestNG dan laporan JUnit dalam hal urutan. Saya pikir pengguna pada dasarnya mengharapkan bahwa laporan JUnit menghormati prioritas (karena itulah yang pada dasarnya menentukan urutan eksekusi) dan membuat daftar kasus uji dalam urutan eksekusi yang sama. Juga melihat tangkapan layar, laporan yang dapat dikirim melalui email (yang merupakan laporan TestNG) tampaknya memesan tes berdasarkan abjad (tentu saja dalam setiap kelas tes) Lihat di sini

Konten testng-results.xml yang dihasilkan oleh XMLReporter menggunakan pengurutan kronologis (Silakan lihat di sini )

Karena pengguna secara eksplisit menyebutkan penggunaan FixMethodOrder di dunia Junit untuk menegakkan perintah eksekusi, saya menduga bahwa pengguna menggunakan untuk mendapatkan pengalaman yang sama melalui penggunaan atribut priority dan karena itu sekarang mengharapkan laporan JUnit memiliki urutan yang sama dengan urutan eksekusi. Inilah mengapa saya merasa bahwa kita hanya perlu menambahkan komparator yang menggunakan prioritas untuk perbandingan dan mengurutkan metode sebelum membuat laporan.

Tolong beri tahu saya jika ada celah di sini.

@krmahadevan Faktanya, saya pikir semua reporter harus memiliki urutan yang sama dan ini adalah kesempatan bagus untuk reporter JUnit. Pilihan lain adalah memiliki urutan yang sama dari JUnit itu sendiri.

Tapi jangan khawatir, saya hanya membagikan ide saya dan saya tidak akan memblokir permintaan tarik berdasarkan urutan prioritas;)

Tapi jangan khawatir, saya hanya membagikan ide saya dan saya tidak akan memblokir permintaan tarik berdasarkan urutan prioritas;)

@juherr - Tolong jangan salah paham. Saya hanya mencoba memastikan bahwa saya memahami bug dengan benar sehingga saya dapat memperbaikinya dengan benar :)

Sebenarnya, saya pikir semua reporter harus memiliki perintah yang sama dan ini adalah kesempatan yang baik untuk reporter JUnit.

Kedengarannya seperti pertanyaan yang adil. Saya berpikir bahwa mungkin ini saatnya kami menyediakan beberapa mekanisme di mana pengurutan metode adalah sesuatu yang dapat diberikan oleh pengguna akhir kami kepada kami sebagai pembanding dan kami hanya menggunakannya untuk menghormati penyortiran metode (dalam lingkup kelas uji) berdasarkan atas pesanan mereka. Saya pikir ini akan sangat berguna bagi orang yang ingin mengubah daftar metode dalam laporan default (di mana pengguna kami saat ini tidak memiliki banyak kendali karena mereka terhubung secara otomatis)

@krmahadevan @juherr Terima kasih atas bantuan Anda, pertanyaan lain, bagaimana saya bisa mendapatkan kode terbaru menggunakan maven, versi mana yang saya butuhkan?

@gaoqiang0306 - Saya tidak yakin apakah versi snapshot TestNG diterbitkan di mana saja.
@juherr @cbeust - Mohon sarannya.

@juherr - Apakah ini versi snapshot saat ini?

Saya berpikir bahwa versi snapshot akan menjadi sesuatu setelah 6.10?

@krmahadevan Ya, versi harus diperbarui dalam file gradle dan kobalt ;)

oke. Jadi saya pikir itu harus diubah di sini . Pertanyaan selanjutnya adalah.. apa yang harus menjadi versi baru? :)

@krmahadevan 6.10.1 terlihat bagus

@krmahadevan Dan jangan lupa https://github.com/cbeust/testng/blob/master/kobalt/src/Build.kt#L18 jika Anda ingin memperbarui nilainya;)

Ya, 6.10.1 adalah default yang bagus.

--
Cédric

Pada Selasa, 13 Des 2016 pukul 04.33, Julien Herr [email protected]
menulis:

@krmahadevan https://github.com/krmahadevan Dan jangan lupa
https://github.com/cbeust/testng/blob/master/kobalt/src/Build.kt#L18 jika
Anda ingin memperbarui nilainya;)


Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/cbeust/testng/issues/1262#issuecomment-266727179 , atau bisukan
benang
https://github.com/notifications/unsubscribe-auth/AAFoonSiQsTAgsdJSddS-wcxEbJONaTPks5rHpCDgaJpZM4LD0LD
.

Terima kasih. Saya memperbaiki ini dan mengirim permintaan tarik #1274

@krmahadevan @juherr @cbeust terima kasih semuanya. masalah saya diperbaiki dengan sangat cepat, kerja bagus !!!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat