![](/img/trans.png)
[英]How to define a setup method only called once during testing with nosetest?
[英]Setup method for nosetest. (Test class)
我在一些我正在做的測試中嘲笑數據庫。 如何為整個類創建一個設置方法,以便每次在類中運行單個測試時它都會運行?
我試圖做的例子。
from mocks import MockDB
class DBTests(unittest.TestCase):
def setup(self):
self.mock_db = MockDB()
def test_one(self):
#deal with self.mock_db
def test_two(self):
#deal with self.mock_db, as if nothing from test_one has happened
我假設一個拆解方法也是可能的,但我找不到會做類似這樣的事情的文檔。
如果您正在使用Python單元測試框架,那么這就是您想要的:
class Test(unittest.TestCase):
def setUp(self):
self.mock_db = MockDB()
def tearDown(self):
pass # clean up
def test_1(self):
pass # test stuff
使用Nose,TestCase的子類化與標准unittest
工作方式相同 - setUp
/ tearDown
是相同的。 從鼻子文檔
測試課程
測試類是在測試模塊中定義的類,它匹配testMatch或是unittest.TestCase的子類。 所有測試類都以相同的方式運行:發現類中與testMatch匹配的方法,並構造一個測試用例,以使用測試類的新實例運行每個方法。 與unittest.TestCase子類一樣,其他測試類可以定義將在每個測試方法之前和之后運行的setUp和tearDown方法。 不從unittest.TestCase下降的測試類也可能包括生成器方法和類級別的fixture。 類級設置裝置可以命名為setup_class,setupClass,setUpClass,setupAll或setUpAll; 拆卸夾具可以命名為teardown_class,teardownClass,tearDownClass,teardownAll或tearDownAll。 類級設置和拆卸夾具必須是類方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.