Saat ini pengujian kami mengikuti gaya Uji Empat Fase yang canggung untuk menggambarkan badan uji. Saya tidak suka itu sama sekali, karena sepertinya beberapa hal jadul yang tidak cocok dengan xUnit. Kekhawatiran saya:
// Teardown
selalu kosong dalam pengujian xUnit karena ia membuat sut
per pengujian, tanpa perlu restore
.// Fixture setup
, // Exercise System
dan // Verify Outcome
terlihat terlalu bertele-tele, sementara // arrange
, // act
dan // assert
lebih singkat. Jika Anda tidak membuat tes dari template, akan lebih mudah untuk menulis kata-kata tersebut (selalu sulit untuk menulis exercise
tanpa salah ketik ).Oleh karena itu, @moodmosaic jika Anda tidak memiliki keberatan yang kuat (saya harap Anda tidak keberatan), saya ingin mengalihkan kami ke tes 3 fase dan menggunakannya semua tes kami. Itu akan memungkinkan saya untuk merasakan kepuasan selama pembuatan tes, daripada rasa sakit
Pergi untuk itu. Tapi saya lebih suka memiliki huruf kapital pertama, yaitu
// Arrange
// Act
// Assert
dari pada
// arrange
// act
// assert
Apakah Anda memiliki alasan kuat untuk memilih kasus kedua?
Tidak, huruf besar tidak masalah bagi saya - cukup kita menggunakan AAA :blush:
Anda juga dapat memisahkan setiap fase dengan baris kosong, yang merupakan format yang saya gunakan saat ini. Kemudian, pembaca tes dapat menganggapnya Given/When/then , atau Arrange/Act/Assert , atau bahkan (yang empat fase ada di sini) .
Anda dapat membaca lebih lanjut tentang ini di bagian "Tes sederhana dengan lebih dari tiga baris kode" di sini .
Saya sangat tidak menyukai penggunaan baris kosong alih-alih komentar di OSS dan tidak setuju dengan ide Marks itu. Lihat komentar saya di sini .
Komentar di atas setiap fase pengujian, pada dasarnya, adalah komentar . Dan dalam kasus khusus ini, mereka meminta maaf , karena mereka menjelaskan bagaimana — alih -
Sekarang, kembali ke AutoFixture, karena semua tes dihiasi dengan komentar, dan karena fase pembongkaran perlengkapan hampir selalu kosong, kita dapat melanjutkan dan mengubahnya menjadi AAA .
Dan dalam kasus khusus ini, mereka meminta maaf
Yah, saya juga sering mengacu pada aturan ini, namun dalam kasus khusus ini saya lebih memilih untuk tetap "meminta maaf" Mereka membuat struktur tes lebih jelas dan ketat. Secara pribadi saya merasa lebih mudah untuk membaca tes "berlabel", tapi mungkin itu hanya masalah kebiasaan
tapi mungkin itu hanya masalah kebiasaan
Ini; dan mungkin juga soal siapa yang sebenarnya menulis tes.
Halo, saya ingin menangani ini. Saya penggemar berat Autofixture dan menggunakannya dalam pekerjaan saya sepanjang waktu dan itu akan menjadi cara yang baik untuk membalas.
Jadi pada dasarnya kalian ingin mengubah yang berikut di semua file pengujian:
// Fixture setup
ke // Arrange
// Exercise System
ke // Act
// Verify Outcome
ke // Assert
dan akhirnya // Teardown
tidak menghasilkan apa-apa.
Ya, tetapi perlu diingat bahwa melakukan 'cari dan ganti' mungkin tidak berhasil karena beberapa fase digabungkan bersama dalam beberapa pengujian. Artinya, Anda mungkin menemukan sistem Latihan & memverifikasi hasil dan serupa, IIRC.
@moodmosaic Saya mengerti, saya berencana untuk melakukan file demi file bukan 'temukan dan ganti' penuh tetapi saya mungkin masih menggunakannya dalam kasus yang lebih jelas/sederhana.
Terima kasih,
Eisa
@moodmosaic seharga // Exercise system and verify outcome
harus diganti dengan
// Act and Assert
Atau kalian memikirkan sesuatu yang berbeda?
Biasanya saya menggunakan // Act & Assert
karena terlihat lebih ringkas dan keren Kecuali @moodmosaic memiliki masalah, saya lebih suka mengikuti gaya itu
Either way tidak apa-apa :neckbeard:
Jadi saya mencoba untuk memulai ini dan setelah saya memuat All.sln di VS 2017 dua proyek F#
( AutoFoq, AutoFoqUnitTest ) gagal dibuka. Saya memiliki pengalaman nol dengan F # sehingga bantuan apa pun akan dihargai
@micheleissa Pastikan Anda menggunakan versi terbaru VS (15.5.1 atau lebih baru), jika tidak, proyek tidak akan terbuka (MS menerapkan perubahan pada F# SDK mereka). Pastikan juga untuk menjalankan git clean -fdx .
berada di root dengan VS tertutup. Itu untuk membersihkan file-file sementara jika Anda memeriksa proyek sebelumnya.
Kedua langkah itu akan membantu. Beri tahu saya jika mereka tidak melakukannya
@zvirja Saya telah
Sudahkah Anda mencoba bagian kedua?
master
git clean -fdx .
Tampaknya Anda hanya memiliki sisa dari SDK sebelumnya.
Pastikan juga bahwa perkakas F# diinstal pada mesin Anda:
Ya, saya lupa yang kedua maaf :)
Saya akan mencobanya sekarang
@zvirja yang berhasil, Terima kasih banyak telah membantu!
Satu pertanyaan lagi, bagaimana cara mengaitkan cabang yang saya kerjakan di repo bercabang saya ke tiket ini?
Hebat itu berhasil! 👍
bagaimana cara mengaitkan cabang yang sedang saya kerjakan di repo bercabang saya ke tiket ini?
Saya sarankan untuk melihat artikel ini, alur kerja dijelaskan dengan baik di sana: https://github.com/sevntu-checkstyle/sevntu.checkstyle/wiki/Development-workflow-with-Git :-Fork,-Branching,- Komit,-dan-Tarik-Permintaan
Pada dasarnya, Anda tidak perlu mengaitkan cabang dengan masalah ini. Sebaliknya, Anda membuat Permintaan Tarik dan cukup menyebutkan masalah ini di isi (misalnya lihat yang ini ).
OK mengerti. Terima kasih! Saya akan membuat pull request saat saya sedang mengerjakan masalah ini sehingga kalian dapat memantau kemajuan dan memberikan umpan balik sesuai dengan apa yang disebutkan dalam pedoman kontribusi.
Komentar yang paling membantu
Biasanya saya menggunakan
// Act & Assert
karena terlihat lebih ringkas dan keren Kecuali @moodmosaic memiliki masalah, saya lebih suka mengikuti gaya itu