npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

browser-test

v0.0.3

Published

Streamlined browser test runner

Downloads

22

Readme

Browser Test

Build Status

Browser test is in alpha phase... the intent is to provide the best possible out of the box testing experience for browsers (just firefox right now) with minimal magic and easy client interface so everyone can use their existing framework.

The basic workflow should look like this:

$ browser-test file.js

1..2
ok 1 start one
ok 2 start two
# PASSED: 2
# PENDING: 0
# FAILED: 0

A fresh browser is created for each test (and currently only one test per invocation).

Usage

browser-test <file.js>

To be super useful you usually need an entrypoint html file which will glue the harness to your existing test framework for a complete entrypoint see /test/browser/entrypoint.html.

browser-test --entrypoint entrypoint.html test.js

For ease of use command line flags can be added to browser-test.opts and will be used for every invocation of browser-test in that directory.

Why this exists

The browser-test package is an early prototype of concepts I thought of as test-agent 2 (test-agent is the unit test runner used by FirefoxOS's gaia project).

The original test-agent had many features and used many levels of indirection to facilitate domain (as in foobar.com) level isolation of tests. Tests within the same domain (app) could effect another tests causing many intermittent test problems as our apps grew larger (and due to poorly written/leaky tests).

"Browser Test" handles things very differently:

  • One process for one file testing

    • While this model slows down a single test run modestly it does not greatly effect productivitity (500ms overhead or less) the overhead is offset by the garuentee that test can run in parallel.

    • The current implementation runs one-test per command only passing multiple tests will be ignored.

  • Loose "client" reporting instead of coupled adapters

    • really easy to write adapters for other frameworks but none intended to be directly bundled into the framework.

Developing

Build the project:

npm install
make

Test the project:

npm install
make test