2015-11-29 75 views
0

我在試圖找出如何使rspec測試多線程。如何爲非rails應用程序並行運行rspec測試

describe 'Suite' do 
    it 'first' do 
    ... 
    end 

    it 'second', type: :thread do 
    ... 
    end 

    it 'third', type: :thread do 
    ... 
    end 
end 

在這種情況下我想運行在並行測試其指定類型如螺紋,非指定型試驗應在單個線程中運行。我怎樣才能做到這一點?

+0

爲什麼你不希望並行的速度運行所有測試整個測試套件?你有沒有考慮使用[parallels_tests](https://github.com/grosser/parallel_tests)寶石? – spickermann

+0

由於測試有時會使用相同的資源,並行運行它們可能會產生衝突。而且這個測試是集成的,並且在所有先決條件之前都有很重的測試,而且我不能將測試分割成單獨的文件。是的,我看過這個寶石,但不知道它是否具有我所需要的功能。 – Roman

+0

當並行運行測試會導致資源衝突時,應首先解決該問題,因爲無論如何,您必須期待Web服務器的情況相同:兩位用戶同時單擊相同的鏈接,用戶雙擊一個按鈕。併發是web服務器上的默認設置。 – spickermann

回答

0

您是否嘗試過像parallel_testsguard這樣的寶石?

順便說一句,你可以標記與標籤@slow有些慢的測試,並與不同的命令來運行它:在不同的終端標籤銀泰等rake rspec:slow_testsrake rspec:other_tests

相關問題