2012-02-15 12 views
6

Gerçek dosyalarımı en uygun şekilde oluşturmak istemiyorum. Bu yüzden, kendimi sık sık, 'u saçma sapan bir plakayla tinkering ve sahte dosyalar için sahte fabrikalar yaratma konusunda buluyorum.Monkey-patch bir birim testi için yerleşik bir işlev midir?

open = lambda x: StringIO() 

bu Tamam olacaktır: bu anlamsız çabalar (bu örnekte) kaçınmak ve yerel bir unittest yönteminin kapsamına gibi şey denemek için güzel olmaz diye merak ediyorum? Ya da bu yaklaşımda büyük uyarılar var mı/yok mu ve fabrikalar ile daha iyi olsun?

cevap

4

Bu, python kapsamlarının nasıl çalıştığını anladığınız sürece geçerlidir (örn. Yerel olarak iyi, global olarak sorunlara neden olur).

Ayrıca, muhtemelen maymun kabuğunuzun orijinallerden farklı hata modlarına sahip olacağını ve kodunuzun yerleşiklerle doğru bir şekilde etkileşime girdiğinden emin olmak için uygun testlere sahip olmanız gerektiğini düşünmeniz gerekir.