GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya bisa menghasilkan cakupan kode untuk paket Swift di Linux atau OS X?

Saat ini, saya tidak mengetahui adanya alat yang secara langsung mendukung Linux. Untuk apa nilainya, kami masih senang dengan solusi cakupan kode kami yang mendukung kerangka kerja web dan server HTTP kami yang berjalan di Linux dan macOS.

Proyek berbasis Swift Package Manager kami, Kitura, menggunakan Travis CI untuk integrasi berkelanjutan. Setiap bangunan akan mengompilasi dan menjalankan pengujian pada keduanya Linux dan macOS. Kami juga menjalankan nightly build di Travis CI yang menghasilkan data cakupan, yang kemudian diunggah ke codecov.io untuk menghasilkan laporan seperti ini.

Di bawah penutup, skrip build menjalankan swift package generate-xcodeproj lalu xcodebuild test dengan cakupan kode diaktifkan. Cakupan kode hanya berjalan di lingkungan build macOS, yang berisi xcodebuild . Karena jalur kode Linux dan macOS kami sangat mirip, statistik cakupan cukup baik untuk tujuan kami, dan kami masih menjalankan pengujian secara terpisah untuk setiap OS.


Ini sebenarnya dimungkinkan dengan meneruskan --enable-code-coverage ke swift test

$ swift test --enable-code-coverage

Itu akan menghasilkan .xctest bundel di .build/x86_64-unknown-linux/debug/ dan file profdata di .build/x86_64-unknown-linux/debug/codecov/ di Linux yang kemudian dapat Anda teruskan ke llvm-cov untuk menghasilkan laporan.

mis.

$ llvm-cov report .build/x86_64-unknown-linux/debug/PredicatePackageTests.xctest -instr-profile=.build/x86_64-unknown-linux/debug/codecov/default.profdata -use-color

Yang akan menghasilkan laporan seperti laporan berikut:

Lihat llvm-cov report --help untuk informasi lebih lanjut, bahkan dapat menghasilkan laporan HTML.


Linux
  1. Bagaimana saya bisa membuat daftar file dengan jalur absolutnya di Linux?

  2. Bagaimana cara menentukan ikon dengan jalur RELATIF untuk file entri desktop Linux?

  3. Bagaimana saya bisa melanjutkan pekerjaan yang berhenti di Linux?

  1. Cara membuat paket rpm

  2. Cara Mudah Membangun Paket Linux Menggunakan Fpm Untuk Berbagai Platform

  3. Linux - Bagaimana saya bisa melihat apa yang menunggu disk IO

  1. Cara Mendaftar Semua Paket yang Terinstal Di Linux

  2. Menemukan Paket untuk Kali Linux

  3. Bagaimana saya bisa menghubungkan file di Linux?