rails distributed parallel tests
How can I run paralell tests on dual core machines connected via SSH on the same network ?
https开发者_StackOverflow社区://github.com/grosser/parallel_tests runs fine for local workers, but there is no way to run it on multiple machines
https://github.com/qxjit/deep-test - I've had no luck upon running it, there is a line in the example like
t.distributed_hosts
which throws an error
With Hydra I got an issue waiting forever for ssh workers
I tried the alpha version of Buffet, created a test repo and ran it but with no luck
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
I want to run only standard unit / integration / functional tests
No fancy stuff at all.
do try out http://test-load-balancer.github.io/ i have had great success with it in the past.
If you are willing to run your tests on a hosted CI service, then there are quite a few good options. To list a few here in no particular order:
- Travis CI (there is pro version for private repos)
- Semaphore (Heroku addon present) parallelism even on the free plans
- Tddium (already mentioned above)
- Codeship (Heroku addon present, unsure of any out of the box support)
- Circle CI (Parallelism on paid plans)
- Snap-CI (Pipeline parallelism allow you greater control but with some configuration. Also they might be adding more out of box support in future)
I have tried all of them in my projects to varying levels, and they all work well. The differences would be mostly in how the services are priced. If you dont mind paying for the subscriptions, it would be best to rely on these services instead of trying to deal with hassle of splitting out the tests into processes. Of course, the exception would be if you doing it at a sufficiently large scale which might justify the cost savings in that case.
Some other points to keep in mind:
- Parallelism within the same process can still give you good results on a sufficiently beefy box (with more cores) without much effort should be your first chocie, unless you have have already run out of option.
- If your eventual goal is to speed up tests, do look at some benefits Travis-CI offers by with a better file system and an in memory database. (I not sure about this one)
- If you still planning on setting up this on your own, you should look at GoCD, in combination with TestLoadBalancer (mentioned earlier).
- Keep in mind if the problem your trying to solve is a growing test suite on sufficiently large project, you might want to actively start thinking about splitting your test suites logically and actually speeding them up, since parallelism only manages to delay the ultimate problem of a long running test suite it does not solve it completely.
Although not particularly related to how to run parallel_tests in multiple machine in the network, here are the issues I encountered and how I solved them when using parallel_test.
tests getting killed in the middle of a run using parallel_tests
I think problem in git configuration. check your git configuration
try this link
Whats the best way to work with Github and multiple computers?
You can also use Shippable http://www.shippable.com continuous service for parallel test
精彩评论