Saya memiliki proyek Python dan tugas tests, yang disiapkan untuk menjalankan pytest dari direktori kerja proyek.

enter image description here

Melakukan Run 'tests' with coverage dari menu Run berhasil menjalankan pengujian, dan hasil konsol menunjukkan bahwa cakupan diukur - mis. 53% pertanggungan untuk mws.py.

enter image description here

Cakupan yang diterapkan secara otomatis (seperti di sebelah kanan) adalah 0% untuk semua file, saya tidak yakin mengapa. Saya menggunakan IntelliJ 2017.2.2 EAP.

NB: ada pertanyaan berusia lima tahun terkait di sini, tetapi solusi berperingkat teratas di sana tidak berlaku. Tidak ada pesan kesalahan di konsol hasil dalam kasus ini.

7
James Hiew 9 Agustus 2017, 20:42

3 jawaban

Jawaban Terbaik

Saya pikir masalahnya terletak pada Anda menggunakan pytest-cov, jadi Pycharm tidak dapat mengurai hasil yang ditampilkan dalam teks seperti 53% yang dihasilkan oleh pytest-cov;

Jadi Ubah opsi di pytest.ini menjadi addopts = -s -v saat Anda ingin menggunakan alat cakupan bawaan Pycharm.

11
aristotll 12 Agustus 2017, 07:56

Lihat jawaban saya untuk pertanyaan lain tentang masalah yang sama: https://stackoverflow.com/a/45729723/1229510

Pada dasarnya jika Anda menggunakan symlink - tampilan cakupan tidak akan berfungsi.

1
Marek 17 Agustus 2017, 08:12

Saya memiliki masalah serupa, tetapi solusi yang diterima di sini tidak menyelesaikannya.

Saya telah pytest secara otomatis menjalankan cakupan dalam file konfigurasinya. Di PyCharm, saya menambahkan Konfigurasi Jalankan untuk menjalankan semua pengujian saya dengan pytest. Tampaknya berhasil, dan saya melihat semua tes berjalan dan mendapatkan hasilnya untuk ditampilkan di jendela run PyCharm.

Tapi segera saya perhatikan ada dua masalah:

  1. Ketika saya memilih "Jalankan dengan cakupan" saya mendapat kesalahan seperti "hasil cakupan tidak ditemukan", dan semua file menunjukkan cakupan 0%.
  2. Breakpoints dalam pengujian tidak terkena saat menjalankan pengujian dalam mode Debug.

Kedua masalah hilang ketika saya menambahkan --no-cov ke "Argumen Tambahan" yang diteruskan ke pytest (opsi ini ada di Konfigurasi Jalankan).

Jadi sepertinya perbaikannya adalah memberi tahu pytest untuk tidak menjalankan cakupan saat menjalankannya dari PyCharm. Opsi "Jalankan dengan cakupan" dan Breakpoints dalam pengujian sekarang berfungsi.

1
avivr 21 September 2020, 14:54