Flutter-geolocator: Sangat membenci metode statis ...

Dibuat pada 28 Apr 2021  ·  3Komentar  ·  Sumber: Baseflow/flutter-geolocator

Versi plugin sebelumnya saya dapat membuat instance geolocator, bagus dan pengujian unit saya sangat senang karena geolocator dapat diejek.

Sekarang semuanya statis ... Apakah ada cara baru yang tidak melibatkan metode statis?

Komentar yang paling membantu

Tautan juga menyarankan untuk membuat pembungkus/adaptor/shim untuk dependensi pihak ketiga dan mengejeknya sebagai gantinya, untuk alasan spesifik yang Anda sebutkan. Dengan cara ini Anda hanya mengejek kode yang Anda miliki (karena Anda adalah pemilik pembungkus/adaptor/shim).

Ini memiliki manfaat sebagai berikut:

  • Abstrak API pihak ke-3 yang membuatnya lebih mudah untuk diganti bila diperlukan;
  • Mengurangi permukaan API menjadi hanya bagian-bagian yang dibutuhkan aplikasi Anda, membuat API lebih mudah digunakan dan dipahami dari bagian lain aplikasi Anda;
  • Tidak akan merusak semua pengujian Anda saat API pihak ke-3 berubah.

Saya akan menutup masalah ini, tetapi jangan ragu untuk melanjutkan diskusi;)

Semua 3 komentar

@jaumard Saya akui ini mungkin bukan pilihan terbaik yang saya buat. Namun dalam praktik umum pertahanan saya tentang pengujian dan arsitektur aplikasi secara umum menyarankan bahwa Anda tidak boleh mengejek apa yang bukan milik Anda (baca lebih lanjut di sini ).

Saran saya adalah menulis pembungkus di sekitar geolocator dan mengejek pembungkusnya.

Tautan Anda lebih tentang TDD daripada pengujian unit secara umum. Juga jika kita tidak mengejeknya, tes tidak lulus, saya kira karena tidak ada implementasi saat menjalankan tes.

Saya juga ingin memeriksa apakah geolokasi dipanggil dalam kode saya dan memeriksa apa yang saya lakukan dengan hasilnya benar. Begitu banyak alasan Anda ingin mengejek deps pihak ketiga :)

Juga jangan mengejek deps menggunakan jaringan dan menjalankan tes Anda tanpa jaringan, itu akan menyenangkan :D atau bahkan dengan benar-benar menunjukkan jaringan dan dapatkan 1 jam untuk menjalankan tes Anda lol

Tapi ya saya akan melakukan pembungkus saya sendiri di sekitar geolocator, hanya ingin tahu apakah ada sesuatu yang dibangun sebelum melakukannya.

Tautan juga menyarankan untuk membuat pembungkus/adaptor/shim untuk dependensi pihak ketiga dan mengejeknya sebagai gantinya, untuk alasan spesifik yang Anda sebutkan. Dengan cara ini Anda hanya mengejek kode yang Anda miliki (karena Anda adalah pemilik pembungkus/adaptor/shim).

Ini memiliki manfaat sebagai berikut:

  • Abstrak API pihak ke-3 yang membuatnya lebih mudah untuk diganti bila diperlukan;
  • Mengurangi permukaan API menjadi hanya bagian-bagian yang dibutuhkan aplikasi Anda, membuat API lebih mudah digunakan dan dipahami dari bagian lain aplikasi Anda;
  • Tidak akan merusak semua pengujian Anda saat API pihak ke-3 berubah.

Saya akan menutup masalah ini, tetapi jangan ragu untuk melanjutkan diskusi;)

Apakah halaman ini membantu?
0 / 5 - 0 peringkat