Joda-Money ürününe dayanan ve iş mantığımı doğrulayan bir dizi birim testine sahip bir uygulama geliştiriyorum. Benim için bir (kuşkusuz önemsiz) yapışma noktası, hangi tür Money
/BigMoney
nesnesi ile test edilecek; Özellikle, CurrencyUnit
kullanması.Birim testlerinde hangi para birimi kullanılır?
Gördüğüm kadarıyla, ben birkaç seçenek vardır:
Sadece Bu açıkça gitmek için en kolay yoludur
USD
kullanın ve benim asıl uygulamanın en ABD ile çalışıyor olacak Dolar bu yüzden biraz mantıklı. Öte yandan, ABD merkezli olmakta ve para birimine özgü hataların kontrol edilmesine izin vermeyeceğinden endişeleniyorum. Bu aksi
USD
hatalı sert codings yakalamak, ancak ediyorumCAD
gibi
kullanın başka gerçek para, sadece
USD
kullanarak çok daha iyi değildir. Bu açıkça mantıklı yaniXTS
kullanın adanmış "fake" currency, sonuçta,
XTS
"testinde kullanılmak üzere ayrılmış" olduğunu. Ancak Joda,-1
ondalık basamaklı para birimleri olarak para birimleri cinsinden para birimlerini ifade eder. Pratikte, Joda-Money'deki para birimleri arasındaki temel fark, ondalık basamakların sayısıdır, bu nedenle hatalı bir şekilde bir tamsayı değerine yuvarlama gibi ondalık basamak hassasiyetini içeren herhangi bir hatayı maskeleme riski taşır.Bu açıkça çalışacak
CurrencyUnit.registerCurrency()
ile kendi özel para Kayıt ama alternatifi olarak biraz garip görme gibi görünüyor.
- dalga geçen bir kütüphaneye Hemen hemen
Özel para birimi kaydederek aynı yarattığı bir
CurrencyUnit
örneği kullanın.
Yine, bu besbelli küçük bir sorun olmakla birlikte, bu gibi durumlar için bir standart uygulama var mı diye merak ediyorum, ya da özellikle bu seçeneklerden birini tercih etmeye açık bir sebebi varsa.
Bu benim için önemsiz görünmüyor. Bu kararı tüm birim testlerinizde yaymak üzeresiniz. Eğer bu kararı tek bir yerde yapamazsanız, o zaman sonsuza kadar onunla takılmak üzeresiniz. – CandiedOrange
@CandiedOrange kabul etti, fakat başka sorularım da "neden bu kadar zamanınızı harcıyorsunuz?" Ile şımartıldım: "!?!?!?!?!" Yanıtlar, tüm meraklarımı "minör" endişelere çağırmak, bir savunma mekanizmasının bir parçasıdır. – dimo414
Haters nefret edecek. Sormaya devam et, iyimser ol ve aşk seni bulacak. Barış. – CandiedOrange