簡體   English   中英

py.test 更改測試類中測試的順序

[英]py.test change order of test inside the test class

使用 @pytest.mark.parametrize 夾具時,我想更改測試類中的測試執行順序。

例如:

@pytest.mark.parametrize("param", ['test1', 'test2'])
class TestForTesting:
    def test_1(self, param):
        print param
    def test_2(self, param):
        print param

在這種情況下,py.test 將運行:帶有“test1”、“test2”參數的 test_1 以及帶有“test1”、“test2”參數的 test_2。

我想做的是讓它按以下順序運行:test_1 帶有參數“test1”,然后 test_2 帶有參數“test1”,然后 test_1 帶有參數“test2”,然后 test_2 帶有參數“test2”。

有沒有辦法做到這一點?

提前致謝。

如果您根本不使用parametrize而是使用“舊的”方式,那么在這種情況下您會得到所需的順序:

class BaseTest:
    def test_1(self):
        print self.param
    def test_2(self):
        print self.param

class TestX(BaseTest):
    param = "A"

class TestY(BaseTest):
    param = "B"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM