2017-01-09 3 views
0

Ich bin mit Tornado Koroutinen in Python 2.7 und ich habe Unit-Tests durchgeführt, wie diese:Wie decke ich eine Python-Coroutine ab?

def test_my_coroutine_function(self): 
    # Arranges 
    ... 

    # Acts 
    response = yield my_function() 

    # Asserts 
    ... 

Meine Funktion wie das definiert ist:

@tornado.gen.coroutine 
def my_function(self): 
    a = True 

Mein Problem ist mir, dass coverage.py sagen dass die Zeile "a = True" nicht abgedeckt ist.

Abdeckung zu verwenden, lief ich die Befehlszeile unter:

coverage run -m --source=./ unittest discover ./; coverage html; 

Vielen Dank für Ihre Hilfe.

Antwort

0

Ok Ich habe herausgefunden, wie es funktioniert.

Ich habe nur muss meine Unit-Test durch die folgende ersetzen:

def test_my_coroutine_function(self): 
    # Arranges 
    ... 

    # Acts 
    future_response= yield my_function() 
    response = future_response.result() 

    # Asserts 
    ... 

Das ist es.

Verwandte Themen