以下功能:
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"
这是什么问题?有没有比我在第二个例子中选择的更好的解决方案?
我在设置-d标志的情况下运行nosetests。
答案 0 :(得分:1)
通常你会使用这样的东西:
assert a == b, “%r != %r” % (a, b)
但是等等,鼻子有shorthand这样:from nose.tools import eq_
因此,对于您的情况,您将拥有:
eq_(str(very_obscure_obj["text"]), "Another button")