Laravel 13.3.0: Attribute #[UnitTest] dan Peningkatan Queue
Laravel telah merilis versi 13.3.0 yang membawa beberapa fitur menarik, terutama attribute PHP baru bernama #[UnitTest] yang memungkinkan developer untuk skip framework booting untuk individual test methods. Fitur ini sangat berguna ketika sebagian besar tests dalam sebuah class membutuhkan container namun beberapa test adalah pure unit test yang tidak memerlukan booting framework.
Attribute #[UnitTest] adalah inovasi yang sangat dibutuhkan oleh komunitas testing Laravel. Sebelumnya, semua test dalam TestCase yang extends Laravel's base test case akan secara otomatis melakukan framework booting完整. Hal ini tentu saja memperlambat execution time untuk unit test yang sebenarnya hanya membutuhkan PHP logic sederhana tanpa memerlukan seluruh Laravel framework.
Dengan attribute ini, developer dapat dengan mudah menandai method test tertentu untuk di-skip dari framework booting hanya dengan menambahkan #[UnitTest] attribute di atas method test. Laravel akan mendeteksi attribute ini dan menghindari proses booting framework hanya untuk method test tersebut, sehingga execution time menjadi lebih cepat.
另一个 fitur baru yang menarik dalam rilis ini adalah event BatchStarted baru untuk job batching lifecycle monitoring. Event baru ini akan di-trigger ketika job pertama dalam sebuah batch diproses, baik job tersebut berhasil atau gagal. Fitur ini melengkapi event-event existing untuk job batching dan memberikan developer visibilitas lebih baik terhadap proses batch job.
Laravel 13.3.0 juga menambahkan memory usage reporting dalam verbose output dari queue worker. Dengan fitur ini, developer dapat dengan mudah memantau memory usage dari queue worker mereka saat running dalam mode verbose. Informasi ini sangat berguna untuk optimize performa aplikasi yang menggunakan queue secara intensif.
Selain itu, rilis ini juga memperkenalkan variadic support untuk model attributes seperti #[Fillable] dan #[Hidden]. Sebelumnya, developer harus mendefinisikan attribute ini satu per satu dalam array. Dengan variadic support, developer dapat mendefinisikan multiple attribute dalam satu declaration, membuat kode menjadi lebih clean dan mudah dibaca.
Tidak ada breaking changes yang diharapkan untuk aplikasi pada umumnya. Tim Laravel menyediakan changelog lengkap untuk detail lebih lanjut, termasuk official changelog dan full comparison dengan versi sebelumnya. Developer dapat melihat GitHub release untuk melihat semua perubahan yang telah dilakukan.

Tidak ada komentar:
Posting Komentar