Flutter da unit test yazarken private olması gereken yada private olmasını istediğim methodları test etmek istiyorum. Bunun için bildiğim yöntemler içime sinmiyor.(en güzeli test yazmayıp private bırakmak :)) Bunlardan daha güzel bir yöntem var mı? Yoksa hangisi daha mantıklı ve ileride daha az can sıkar?
1-) ‘Part - partof’ kullanmak: Bunu tüm unit testler için her class için ‘part - partof’ yazmak eziyet ve hiç kullanışlı gelmiyor.
2-) dart.dev inin geliştirdiği ‘meta’ paketinde ‘@visibleForTesting’ diye bir annotation var. Bunu kullanırken uyarı veriyor bu methodu sadece unit test için kullanın falan filan.. Ancak, bu annotation sadece bir uyarıdır ve gerçek bir erişim kısıtlaması sağlamıyor.
3-) dart:mirrors, reflectable kütüphaneleri ile Dart reflection kullanarak private methodlara erişmek. Bunu daha önce kullanmadım. (Okunabilirliğe ve performansa kötü etkisi olabiliyormuş)
Flutter da unit test yazarken private olması gereken yada private olmasını istediğim methodları test etmek istiyorum. Bunun için bildiğim yöntemler içime sinmiyor.(en güzeli test yazmayıp private bırakmak :)) Bunlardan daha güzel bir yöntem var mı? Yoksa hangisi daha mantıklı ve ileride daha az can sıkar?
1-) ‘Part - partof’ kullanmak: Bunu tüm unit testler için her class için ‘part - partof’ yazmak eziyet ve hiç kullanışlı gelmiyor.
2-) dart.dev inin geliştirdiği ‘meta’ paketinde ‘@visibleForTesting’ diye bir annotation var. Bunu kullanırken uyarı veriyor bu methodu sadece unit test için kullanın falan filan.. Ancak, bu annotation sadece bir uyarıdır ve gerçek bir erişim kısıtlaması sağlamıyor.
3-) dart:mirrors, reflectable kütüphaneleri ile Dart reflection kullanarak private methodlara erişmek. Bunu daha önce kullanmadım. (Okunabilirliğe ve performansa kötü etkisi olabiliyormuş)