2011-10-17 14 views
13

¿Cómo puedo obtener ejecutando actualmente el nombre de testcase, mientras que en la colección de testsuite hay 16 testcases. Las pruebas se ejecutan secuencialmente (en el orden de agregar prueba a la colección testSuite). Cuando agrego todas las pruebas a la colección TestSuite, puedo obtener una vista previa de este objeto, pero ¿cómo puedo obtener la prueba en ejecución mientras se ejecutan las pruebas? Tal vez alguna variable contiene esta información?Cómo obtener actualmente el nombre de testcase de test en el unittest

ejemplo:

def suite(): 
    testSuite= unittest.TestSuite() 
    testSuite.addTest(FlightsTestCases('test_sel__reservation_one_way_wizzair_transfer')) 
    testSuite.addTest(FlightsTestCases('test_sel_reservation_one_way_wizzair_transfer')) 
    testSuite.addTest(FlightsTestCases('test_sel_reservation_round_wizzair_transfer')) 
    testSuite.addTest(FlightsTestCases('test_sel_reservation_one_way_tair_transfer')) 
    testSuite.addTest(FlightsTestCases('test_sel_reservation_round_tair_transfer')) 
    testSuite.addTest(FlightsTestCases('test_sel_reservation_one_way_wizzair_credit_card')) 
    testSuite.addTest(FlightsTestCases('test_sel_reservation_one_way_tair_credit_card')) 
    testSuite.addTest(FlightsTestCases('test_sel_reservation_round_wizzair_transfer')) 
    testSuite.addTest(FlightsTestCases('test_sel_reservation_one_way_wizzair_transfer')) 
    testSuite.addTest(FlightsTestCases('test_sel_reservation_one_way_easyjet_transfer')) 
    testSuite.addTest(FlightsTestCases('test_sel_reservation_one_way_ryanair_transfer')) 
    testSuite.addTest(FlightsTestCases('test_sel_reservation_round_ryanair_credit_card')) 
    testSuite.addTest(FlightsTestCases('test_sel_reservation_one_way_tair_duplicated')) 
    testSuite.addTest(FlightsTestCases('test_reservation_wrong_card_lowcost')) 
    testSuite.addTest(FlightsTestCases('test_sel_reservation_one_way_tair_credit_card')) 
    testSuite.addTest(FlightsTestCases('test_sel_reservation_one_way_tair_wrong_credit_card')) 

    return testSuite 

if __name__ == "__main__": 
    result = unittest.TextTestRunner(verbosity=2).run(suite()) 
    sys.exit(not result.wasSuccessful()) 

Las pruebas se ejecutan utilizando marco Selenium-RC.

+1

¿Cuál es el contexto en el que desea consultar el nombre de la prueba en ejecución? –

Respuesta

38

unittest.TestCase.shortDescription()

Devuelve una descripción de la prueba, o Ninguno si no se ha proporcionado ninguna descripción. La implementación predeterminada de este método devuelve la primera línea del docstring del método de prueba, si está disponible, o None.

unittest.TestCase.id()

devolver una cadena que identifica el caso de la prueba específica. Este suele ser el nombre completo del método de prueba, incluido el nombre del módulo y la clase.

Esperemos que una de ellas sea útil para sus necesidades.

Cuestiones relacionadas