2015-06-16 28 views
1

我正在使用for循環遍歷配置文件並將變量傳遞給單元測試。單元測試失敗時打印自定義字符串

for module in config: 
     for testcase in config[module]: 
      data = config[dict.keys(config)[0]][testcase]['foo'] 
      test_foo(self, data) 

該方法的問題是故障可能類似,並在測試結束時打印出來。所以沒有辦法告訴哪個變量失敗了,只有n個變量未通過測試。有沒有辦法打印一個自定義的字符串失敗,其中將包括失敗的變量?或者,甚至有更好的方法來測試我的配置文件中的變量?

回答

1

您可以斷言*方法提供了自定義字符串:

self.assertEqual('foo'.upper(), 'FOO', 'custom message') 

此定義消息會在測試失敗打印

+0

不知道你能做到這一點。有沒有辦法在自定義消息中包含變量名? –

+0

我想你可以將一個變量的名稱傳遞給測試本身並相應地設置消息的格式:self.assertTrue(var,'{} is not True'.format(var_name)) –

+0

愚蠢的後續問題。我可以將測試變量名稱放在字符串中,例如'custom message'+ foo –