2015-11-29 57 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

相关问题