百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
T

testswarm

> 编程语言
开源

针对 JavaScript 的分布式连续集成测试

967 stars0 点赞0 次浏览
访问官网GitHub

工具介绍

针对 JavaScript 的分布式连续集成测试

TestSwarm

TestSwarm provides distributed continuous integration testing for JavaScript.

⚠️ Project status TestSwarm remains used by jQuery Foundation projects such as jQuery and jQuery UI, but is no longer under active development. Critical issues may be patched, but new issues will not be addressed.

We recommend reviewing these alternatives: QTap, Karma, Testem, grunt-contrib-qunit, browserstack-runner, Airtap, Intern, Web Test Runner.

Documentation

  • About TestSwarm (Philosophy, Architecture, How is it different?)
  • API Guide
  • Automation Guide
  • How to: Submit jobs
  • Project history (Screenshots)

Further reading:

  • JavaScript Testing Does Not Scale, John Resig, 2009.
  • TestSwarm Alpha Open!, John Resig, 2009.
  • JSConf talk: TestSwarm, John Resig, 2009.
  • Video: TestSwarm Walkthrough, John Resig, 2009.

Quick start

Clone the repo

git clone https://github.com/jquery/testswarm.git

Installation

Browser compatibility

  • Chrome 58+ (2017)
  • Edge 15+ (2017, both legacy MSEdge and Chromium-based)
  • Firefox 45+ (2016)
  • Internet Explorer 9+
  • Opera 36+ (2016)
  • Safari 9+ (2015)
  • Android 4.3+ (2013)
  • iOS Mobile Safari 7+ (2013)

Environmental compatibility

To run TestSwarm you will need a web server, a database server and PHP. At the moment TestSwarm supports the following, but other configurations may work as well.

  • Apache 2.0+, NGINX 1.10+
  • PHP 5.4+ (or PHP-FPM for NGINX)
  • MySQL 5.6+
  • cURL (for the cleanup action; see step 8)

Steps

  1. Create an empty MySQL database and create a user with read and write access to it.

  2. Copy config/sample-localSettings.php to config/localSettings.php

    Copy config/sample-localSettings.json to config/localSettings.json.

    Edit localSettings.json and replace the sample settings with your own.

    Refer to the Settings page for more information.

  3. For Apache:

    Copy config/sample-.htaccess to .htaccess.

    To run TestSwarm from a non-root directory, set web.contextpath in localSettings.json to the correct path from the web root and update RewriteBase in .htaccess. Verify that .htaccess is working properly by opening a page other than the HomePage (e.g. /testswarm/projects) in your browser. Required Apache configuration:

    • AllowOverride is set to All (or ensure FileInfo is included).
    • mod_rewrite installed and loaded.

    For NGINX:

    Copy config/sample-nginx.conf to /etc/nginx/sites-available.

The file name should match your domain e.g. for swarm.example.org:

cp config/sample-nginx.conf /etc/nginx/sites-available/swarm.example.org.conf

Open this conf file in your editor and replace the "example" values with the correct values.

Make sure your install is located at /var/www/testswarm (otherwise update the file to match the correct location).

Now you need to link the sites-available config to the sites-enabled config:

(replace the "swarm.example.org" with your own file name):

ln -s /etc/nginx/sites-available/swarm.example.org.conf /etc/nginx/sites-enabled/swarm.example.org.conf

Now make sure that php-fpm is running: /etc/init.d/php-fpm status

if is not running start it: /etc/init.d/php-fpm start

  1. Copy config/sample-robots.txt to robots.txt

    Or, if TestSwarm is not in the root directory, add similar rules to your root robots.txt.

  2. Set storage.cacheDir to a writable directory that is not readable from the web. Either set it to a custom path outside the document root, or use the default cache directory (protected with .htaccess). Chmod it: chmod 777 cache.

  3. Install dependencies composer install --no-dev

  4. Install the TestSwarm database by running: php scripts/install.php

  5. Create an entry in your crontab for action=cleanup. This performs various cleaning duties such as making timed-out runs available again.

    * * * * * curl -s https://swarm.example.org/api.php?action=cleanup > /dev/null

  6. Create a project and submit jobs.

Get involved

You're welcome to use the GitHub issue tracker to start discussions.

Some of us are also on Gitter at jquery/dev.

Copyright and license

See LICENSE.txt.

Versioning

TestSwarm uses the Semantic Versioning guidelines as much as possible.

Releases will be numbered in the following format:

..

The -alpha suffix is used to indicate unreleased versions in development.

For more information on SemVer, please visit .

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

PHP

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言