28 Aralık 2011, ÇARŞAMBA
Nasıl sahte bir almak için
Modülü A
üstünde import B
içerir. Test koşulları altında ancak 19* B
* A
(alay A.B
) ve tamamen B
ithal kaçınmak istiyorum. Aslında B
bilerek test ortamında yüklü değil.
Bu nasıl yapılabilir?
CEVAP
28 Aralık 2011, ÇARŞAMBA
A
istediğini elde etmek için almadan önce sys.modules['B']
atamak için:
test.py:
import sys
sys.modules['B'] = __import__('mock_B')
import A
print(A.B.__name__)
A. py:
import B
Not B. py yok, ama test.py
çalışırken herhangi bir hata döndürdü ve print(A.B.__name__)
mock_B
yazdırır. Hala değişkenler/B gerçek işlevleri/etc sahte nerede mock_B.py
bir oluşturmak zorunda. Ya da sadece bir Sahte atayabilirsiniz() doğrudan:
test.py:
import sys
sys.modules['B'] = Mock()
import A
Bunu Paylaş:
Nasıl Python ile şimdiki zaman almak i...
Nasıl bir liste boyutunu almak için...
Nasıl Gıt mevcut şube adı almak için?...
Nasıl MySQL kullanıcı hesaplarının bir...
Nasıl ASP.NET MVC [HandleError] öznite...