SORU
29 AĞUSTOS 2012, ÇARŞAMBA


Fonksiyon/yöntemi kullanarak Sahte değil çağrıldı iddia

Sahte kütüphanem uygulamasını test etmek için kullanıyorum, ama bazı fonksiyonu olmadığını iddia etmek istiyorum. Sahte dokümanlar mock.assert_called_with gibi yöntemleri hakkında konuşmak ve mock.assert_called_once_with ama mock.assert_not_called falan alay doğrulamak için ilgili gibi bir şey bulamadımAradı.

Havalı ya da pythonic görünmüyor olsa da aşağıdaki gibi bir şey ile yatabilirim:

def test_something:
    # some actions
    with patch('something') as my_var:
        try:
            # args are not important. func should never be called in this test
            my_var.assert_called_with(some, args)
        except AssertionError:
            pass  # this error being raised means it's ok
    # other stuff

Bunu gerçekleştirmek için nasıl herhangi bir fikir?

Herhangi bir yardım için teşekkürler

CEVAP
29 AĞUSTOS 2012, ÇARŞAMBA


Bu dava için çalışması gerekir;

assert not my_var.called, 'method should not have been called'

Örnek;

>>> mock=Mock()
>>> mock.a()
<Mock name='mock.a()' id='4349129872'>
>>> assert not mock.b.called, 'b was called and should not have been'
>>> assert not mock.a.called, 'a was called and should not have been'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AssertionError: a was called and should not have been

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Simon Hayter

    Simon Hayter

    20 HAZİRAN 2010
  • The Exploiteers

    The Exploite

    4 Ocak 2011
  • The Weavers of Eternity Paracord Tutorials

    The Weavers

    1 Ocak 2014