2015-04-28 5 views
0

Следующая функция:nosetests запутаться временную строку объекта

def test_1(): 
    assert str(squishtest.object.properties(squishtest.waitForObject(":my_button"))["text"]) == "Another button" 

дает:

AssertionError: 
>> assert str(<module 'squish' from '.../squishtest.so'>.object.properties(<module 'squish' from '.../squishtest.so'>.waitForObject(":my_button"))["text"]) == "Another button" 

, который не дает мне никакой информации относительно того, что текст кнопки на самом деле содержит.

Однако это работает лучше:

def test_2(): 
    s = str(squishtest.object.properties(squishtest.waitForObject(":my_button"))["text"]) 
    assert s == "Another button" 

как это дает:

AssertionError: 
    'My button' = str(<module 'squish' from '.../squishtest.so'>.object.properties(<module 'squish' from '.../squishtest.so'>.waitForObject(":startVentButton_Button"))["text"]) 
>> assert 'My button' == "Another button" 

Что такое проблема здесь? Есть ли лучшее решение, чем выбранное мной во втором примере?

Я использую nosetests с флагом -d.

ответ

1

Обычно вы бы использовать что-то вроде этого:

assert a == b, “%r != %r” % (a, b) 

Но постойте, нос имеет shorthand так: from nose.tools import eq_

Так что для вашего дела, вы будете иметь:

eq_(str(very_obscure_obj["text"]), "Another button") 

 Смежные вопросы

  • Нет связанных вопросов^_^