简体   繁体   English

Fitnesse - CI自动化更适合并行运行Fitnesse测试?

[英]Fitnesse - which CI automation is better for running Fitnesse tests in parallel?

we're running our CI loop with CruiseControl - and have more than a thousand of FitNesse/FitLibrary tests. 我们正在使用CruiseControl运行CI循环 - 并且有超过一千个FitNesse / FitLibrary测试。 It takes awhile, to say the least. 至少可以说,这需要一段时间。 Some of the tests have to run sequentially, but some can run in parallel (most of them). 一些测试必须按顺序运行,但有些可以并行运行(大多数)。 Does anyone have a good experience configuring a complex FitNess CI environment w/CruiseControl? 有没有人有使用CruiseControl配置复杂的FitNess CI环境的良好经验? How? 怎么样? Or - let me rephrase it - which test automation control server is better in this respect (with FitNesse)? 或者 - 让我重新说一下 - 哪个测试自动化控制服务器在这方面更好(使用FitNesse)? Thanks! 谢谢!

The trick to running FitNesse servers in parallel is mostly about keeping all of the ports separate for each of the runs. 并行运行FitNesse服务器的技巧主要是为每个运行保持所有端口分开。 So each FitNesse server needs to be started with a different -p argument. 因此,每个FitNesse服务器都需要使用不同的-p参数启动。 As to the FitLibrary part, well if you do spin up something that your FitLibrary fixtures talk to over a port, make sure they use different ones. 至于FitLibrary部分,如果您确实旋转了FitLibrary灯具通过端口与之交谈的内容,请确保它们使用不同的部分。 If you we're using SliM, then the would be at lease one more port (SLIM_PORT) you would need to make different foe each parallel thread. 如果你我们正在使用SliM,那么你将需要另外一个端口(SLIM_PORT)来为每个并行线程制作不同的敌人。

The other thing that you might want to be careful about is launching all of the tests from the same source directory. 您可能需要注意的另一件事是从同一源目录启动所有测试。 FitNesse itself shouldn't have a problem, but if your fixtures need to work with any physical files, those can sometimes cause trouble. FitNesse本身应该没有问题,但是如果你的灯具需要使用任何物理文件,那么这些有时会造成麻烦。 You can also run into conflicts when updating the folder if one job is testing when another job kicks off an svn update or similar operation in Git/CVS. 如果一个作业正在测试另一个作业在Git / CVS中启动svn更新或类似操作时,您还可以在更新文件夹时遇到冲突。

The only other gotcha I know about is whether any other libraries or the system you are testing can have trouble with multiple instances running at once. 我所知道的唯一其他问题是,您正在测试的任何其他库或系统是否可能在同时运行多个实例时遇到问题。

We run multiple execution threads under Hudson/Jenkins all of the time. 我们一直在Hudson / Jenkins下运行多个执行线程。 Each job runs in a separate execution thread. 每个作业都在一个单独的执行线程中运行 Typically with a separate test system to make sure there tests that interact with the database don't come in conflict. 通常使用单独的测试系统来确保与数据库交互的测试不会发生冲突。

If CruiseControl can run multiple builds in parallel, it probably can run multiple tests too. 如果CruiseControl可以并行运行多个构建,它也可以运行多个测试。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM