Open gkiko opened 8 years ago
SoundPlayer კლასი singlton არის. პირდაპირ არ იძახებს play()-ს, ჯერ SoundPlayer.getInstance()-ს აკეთებს და მერე მაგ ინსტანზე იძახებს მეთოდებს. უბრალოდ სტატიკური სეტერი რო დავუმატოთ და ტესტირებისას ამ სეტერით დავუსეტოთ SoundPlayer რომელიც სინამდვილეში მოკი იქნება არ გამოვა?
შენი ცვლილება ვნახე d7c7902da7471b9082f10687e7cf17ea21e644ab
ორი რამ არ მომწონს
ჩემი აზრით გამოსავალი არის
SoundPlayer
-დან ცალკე კლასში გავიდეს AudioSystem
-ის ნაწილი, რომლიც ჩაეწოდება SoundPlayer
-ს შექმნისასSoundPlayer
. ყველა კლასის ამ მშობლის გავლით დაელაპარაკება შვილ კლასებს@gkiko შენი შემოთავაზებული იდეა მგონი მაინც არ გამოდის. სად უნდა გადაეცეს ინტერფეისი? ერთადერთი საშუალებაა getInstance()
-დან. მაგრამ ამ შემთხვევაში როგორ დავმოკოთ აუდიო სისტემა?
ლოგები travis-დან
პლათფორმაზე დამოკიდებული ტესტები გვიწერია ეხლა. ubuntu-ზე შეცდომას აგდებს კოდი, როდესაც ხმის გამოცემის ბრძანებები სრულდება.
SoundPlayer
კლასი დამოკიდებულია ფაილურ სისტემაზე.ზოგიერთ კლასს სტატიკური დამოკიდებულება აქვთ
SoundPlayer
-ზე:SoundPlayer.play()
, რის გამოც ვერ დაიმოქება ეს კლასი.მოსაფიქრებელია თუ როგორ დავწეროთ ტესტები ფაილური სისტემის გამოყენების გარეშე.