mata teras
Walaupun jawatan ini mungkin sedikit lebih teknikal, saya percaya ia membantu ramai orang, kerana ujian harus menjadi tanggungjawab setiap pemaju. Juga, selepas anda memahami satu demi satu, anda akan mendapati bahawa ia sebenarnya tidak sukar difahami.
Buat fungsi maya untuk ujian
@function double($value) { @return $value * 2; }
@function double($value) { // 为了演示目的而故意引入的错误 @if $value == 3 { @return 5; } @return $value * 2; }
$tests-double: ( 1: 2, 2: 4, 3: 6, 4: 8 );
Test Runner
Jika anda sudah biasa dengan Sass, anda mungkin sudah memahami perkara ini. Pelari ujian kami akan melangkah ke atas peta ujian, hubungi fungsi untuk setiap input, dan pastikan ia sepadan dengan output yang diharapkan. Ia kemudian akan mencetak hasil ujian kami.
inilah yang kelihatan seperti pelari ujian kami:
/// 在测试套件 ($tests) 上运行函数 ($function) /// @param {Map} $tests - 测试套件 /// @param {String} $function - 要测试的函数名称 @mixin run-tests($tests, $function) { .. }
. Sebagai contoh, kita juga boleh menyampaikannya kepada harta @error
pseudo-elemen, tetapi ini sedikit lebih rumit, jadi kita akan melekat dengan content
. @error
Perkara pertama yang perlu dilakukan ialah melelehkan suite ujian. Untuk setiap ujian, kami memanggil fungsi secara dinamik berdasarkan namanya (menggunakan fungsi call(...)
) dan periksa sama ada hasilnya seperti yang diharapkan.
@function double($value) { @return $value * 2; }
Pada masa ini, sistem kami sedang berjalan. Mari kita jalankan di suite ujian kami dan lihat bagaimana rupanya.
@function double($value) { // 为了演示目的而故意引入的错误 @if $value == 3 { @return 5; } @return $value * 2; }
$tests-double: ( 1: 2, 2: 4, 3: 6, 4: 8 );
hei! Inilah permulaan, bukan? Sekarang kita hanya perlu membuat output lebih berguna (dan lebih mesra).
Ini adalah apabila anda boleh menyesuaikan output untuk menjadikannya kelihatan seperti anda mahu ia kelihatan. Tidak ada satu cara untuk melakukan ini, anda boleh mengeluarkan apa sahaja output yang anda suka. Perhatikan bahawa mengikut spesifikasi CSS, anda boleh menggunakan a
untuk membungkus garisan dalam rentetan.
Dalam kes saya, inilah yang saya pilih:
/// 在测试套件 ($tests) 上运行函数 ($function) /// @param {Map} $tests - 测试套件 /// @param {String} $function - 要测试的函数名称 @mixin run-tests($tests, $function) { .. }
Jika kita menjalankannya lagi pada fungsi $tests-double
, inilah yang kita dapat: double
@mixin run-tests($tests, $function) { $output: ''; @each $test, $expected-result in $tests { $result: call($function, $test...); @if $result == $expected-result { // 测试通过 $output: $output + 'Test passed; '; } @else { // 测试失败 $output: $output + 'Test failed; '; } } // 打印输出 @error $output; }
fungsi ujian dengan pelbagai parameter
@include run-tests($tests-double);
kami menambah ellipsis (...) kepada pembolehubah call(...)
. $test
<code>Test passed; Test passed; Test failed; Test passed;</code>
sebagai senarai parameter. Dalam erti kata lain, jika $test
adalah senarai (mis. $test
('a', red, 42px')
Pemikiran Akhir
Sudah tentu, jika anda sedang mencari penyelesaian yang lebih mendalam, anda mungkin ingin melihat Eric Suzanne yang benar. Sebagai rangka kerja ujian SASS yang lengkap, ia lebih sesuai untuk infrastruktur ujian unit global.
Jika anda mahu melihat (versi kod yang lebih maju), saya telah membuka repositori Sassytester untuk mengumpul segala -galanya.
Jadi apa pendapat anda?
Soalan Lazim Mengenai Ujian Fungsi Sass (FAQ)
Pelbagai alat dan kaedah boleh digunakan untuk menguji fungsi SASS. Pendekatan yang biasa adalah menggunakan kerangka ujian SASS, seperti benar. Benar adalah alat ujian unit yang diintegrasikan dengan projek SASS anda. Ia membolehkan anda menulis ujian secara langsung dalam fail SASS, yang kemudiannya boleh dijalankan di Node.js atau mana -mana pelayar web.
Beberapa amalan terbaik untuk menguji fungsi SASS termasuk ujian menulis untuk setiap fungsi, menggunakan konvensyen penamaan yang konsisten untuk ujian, dan memastikan bahawa ujian meliputi semua senario yang mungkin. Ia juga penting untuk menjalankan ujian secara teratur dan mengemas kini ujian seperti yang diperlukan semasa membuat perubahan pada fungsi.
Ya, anda boleh menguji fungsi SASS menggunakan JavaScript. Anda boleh menggunakan alat seperti JEST untuk menguji fungsi SASS anda. Jest adalah rangka kerja ujian JavaScript yang membolehkan anda menulis ujian dalam sintaks mudah dan jelas.
Beberapa cabaran umum dalam menguji fungsi SASS termasuk mengendalikan fungsi kompleks, menguruskan kebergantungan, dan memastikan keserasian penyemak imbas. Cabaran -cabaran ini dapat diatasi menggunakan rangka kerja ujian yang kuat, menulis ujian yang jelas dan ringkas, dan kerap memeriksa dan mengemas kini ujian.
Anda boleh meningkatkan kemahiran ujian SASS anda dengan mengamalkan secara teratur, membaca dan mempelajari kod orang lain, dan memahami trend terkini dan amalan terbaik ujian SASS. Mengambil bahagian dalam cabaran pengekodan dan menyumbang kepada projek sumber terbuka juga boleh membantu meningkatkan kemahiran anda.
Sass memainkan peranan penting dalam pembangunan web dengan menjadikan CSS lebih kuat dan lebih mudah untuk dikekalkan. Ia menyediakan ciri -ciri seperti pembolehubah, bersarang, pengadun, dan fungsi, yang membantu menulis kod CSS yang lebih cekap dan boleh diguna semula.
Pelbagai alat dan teknik boleh digunakan untuk debug fungsi SASS. Pendekatan yang sama adalah menggunakan fungsi SASS inspect
, yang membolehkan anda menyemak nilai ekspresi SASS. Anda juga boleh menggunakan arahan SASS @debug
, yang mencetak nilai ekspresi SASS ke konsol.
Walaupun fungsi SASS boleh diuji tanpa kerangka ujian, ini tidak disyorkan. Rangka kerja ujian menyediakan pendekatan berstruktur dan sistematik untuk menguji, menjadikannya lebih mudah untuk menulis, mengurus, dan menjalankan ujian.
Menggunakan Rangka Kerja Ujian SASS menyediakan banyak faedah. Ia membolehkan anda menulis ujian dengan cara berstruktur dan sistematik, menjadikannya lebih mudah untuk mengurus dan menjalankan ujian. Ia juga menyediakan alat dan ciri yang boleh membantu menulis ujian yang lebih cekap, seperti fungsi penegasan dan pelari ujian.
Atas ialah kandungan terperinci Menguji fungsi sass dalam 5 minit. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!