2013-07-23 105 views
3

我使用nose來運行一些系統測試,其中之一是測試(config)文件是否存在。如果這個文件存在,我想運行一些額外的測試。如果沒有,我想跳過一堆測試。如果測試通過,我如何包含附加測試?

如果主測試通過,使nose包含附加測試的最佳方法是什麼?

+0

檢查assert語句的返回值,並設置一個條件將是簡單的方法 – Stephan

+1

你可以創建一個裝飾器,其中如果配置文件不存在invoke unittest .skip – dm03514

回答

5

你可以在你的具體的TestCase使用skipTest從安裝方法,如:

import os 
from unittest import TestCase 

class MyTest(TestCase): 
    def setUp(self): 
     if not os.path.exists('configfile'): 
      return self.skipTest('config file not found') 

    def test01(self): 
     # Do something with the file 
     with open('configfile') as fd: 
      self.assertEqual(fd.readlines().__len__(), 0) 

測試TEST01不會運行,如果配置文件不存在。

+0

我相信'SkipTest'是一個例外,應該被提出,不歸還。 – Dolph

+0

哦,等等,你稱之爲'skipTest'的方法,不要介意! – Dolph

相關問題