Próbuję zrobić prosty test w Pythonie, ale nie jestem w stanie dowiedzieć się, jak wykonać kpiny.Makiety cały python klasa
Jest to klasa i def Kod:
class FileRemoveOp(...)
@apply_defaults
def __init__(
self,
source_conn_keys,
source_conn_id='conn_default',
*args, **kwargs):
super(v4FileRemoveOperator, self).__init__(*args, **kwargs)
self.source_conn_keys = source_conn_keys
self.source_conn_id = source_conn_id
def execute (self, context)
source_conn = Connection(conn_id)
try:
for source_conn_key in self.source_keys:
if not source_conn.check_for_key(source_conn_key):
logging.info("The source key does not exist")
source_conn.remove_file(source_conn_key,'')
finally:
logging.info("Remove operation successful.")
I to jest mój test do wykonywania funkcji:
@mock.patch('main.Connection')
def test_remove_execute(self,MockConn):
mock_coon = MockConn.return_value
mock_coon.value = #I'm not sure what to put here#
remove_operator = FileRemoveOp(...)
remove_operator.execute(self)
Od wykonać sposób próbują nawiązać połączenie, muszę kpić z tego, nie chcę nawiązać prawdziwego połączenia, po prostu zwróć coś z siebie. Jak mogę to zrobić? Jestem przyzwyczajony do testowania w Javie, ale nigdy nie zrobiłem tego na python ..
Co właściwie próbujesz przetestować? Zazwyczaj kpisz z rzeczy, które wywołuje kod, który testujesz, i nie wywołują tego bezpośrednio. Dzięki swojemu podejściu testujesz tylko próbę. –
Bardziej kompletny przykład byłby przydatny. Trudno jest ocenić, co próbujesz osiągnąć. To powiedziawszy, kiedy wyśmiewana klasa zostanie wywołana, automatycznie utworzy kolejną próbę jako zwróconą instancję. W razie potrzeby możesz skonfigurować to wyśmiewane połączenie. – Dunes