SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ampisound

    Ampisound

    12 Kasım 2006
  • FRED

    FRED

    1 EKİM 2005
  • Joshua Benedict

    Joshua Bened

    26 EKİM 2013