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

  • Jack Vale Films

    Jack Vale Fi

    8 ŞUBAT 2007
  • steven johns

    steven johns

    11 Mart 2011
  • TheMasterOfHell100

    TheMasterOfH

    13 AĞUSTOS 2011