meteor-velocity/velocity-website

Homepage copy critique

numtel opened this issue · 3 comments

This is the first of discussion threads I will be starting for reviewing and updating the copy of the Velocity website.

My suggestions are in italic with comments as code blocks.

Begin homepage copy:

Velocity (logo)

The official testing framework of Meteor 1.0 Test Framework for Meteor

People will know that it's official because of its presence, version dropped because it will indefinitely be the test framework for Meteor

Meteor makes it easy to make modern web apps. Now Velocity makes it easy to test them, too. Your tests update reactively, just like your apps.

You already know how easy Meteor makes creating modern web applications. Velocity makes it just as simple to test them. Just like your apps, your tests update reactively.

Improve Flow

And since it's the officially sanctioned testing framework for Meteor, you can use it with confidence.

Get started now! Installation

Better description of this tab box. Each tab should have a link to section on inner page describing their operation

Integration testing with mocha syntax.

$ meteor add mike:mocha

Includes HTML Reporter.

Place tests in the following directory:

tests/mocha/

Integration and unit testing with jasmine syntax.

$ meteor add sanjo:jasmine
$ meteor add velocity:html-reporter

HTML Reporter must be added separately.

Place tests in the following directories:

tests/jasmine/client, tests/jamine/server

Acceptance testing via browser automation

$ meteor add clinical:nightwatch

Includes HTML Reporter.

Place tests in the following directory:

tests/nightwatch

Is that the correct nightwatch directory?

Added bash $ to commands

Features

  • Install a full testing solution with a single Meteor smart package in minutes. No more configuring outside packages. The viewer already know this from the quick start box above.
  • Run tests reactively as you save your code. For unit and acceptance tests, your suite will be rerun when you save, giving you real-time feedback on your testing status. It's the most powerful way to do test driven development.
  • Insert: Tests run in a mirror instance of Meteor, along with a clean database. No clean-up work required. The mirror is a huge feature that needs to be listed.
  • Bring multiple test frameworks together with common reporting. Run unit, integration, and end-to-end tests with features like code coverage reporting and automatic mocking for unit tests.
  • Run continuous integration (CI). Use meteor --test to run your tests in the command line. This allows you to use Velocity in your CI infrastructure.
  • Run Velocity without fear of polluting your production app. Test packages can be flagged as debugOnly. The Isopackage build system will automatically exclude test packages from production builds, allowing you to enjoy powerful integrated testing in your development environment without fear of affecting the production build.

How Velocity Works

Velocity accepts two kinds of plugin: test frameworks and reporters. Velocity watches your tests/ directory and sends test files to the correct framework. The testing framework performs the tests and sends results for each test back to Velocity as they complete. Velocity then combines the results from all of the testing frameworks and outputs them via one or more reporters. When the app or tests change, Velocity will rerun your tests and reactively update the results. Reporters can output the results in your app in an overlay, via structured data (e.g., JSON) for continuous integration, or other formats.

The Velocity core exposes an interface for two kinds of plugins: test frameworks and reporters.

Each test framework performs its suite, calling back to Velocity as the tests complete. More about test frameworks...

Access results from the test frameworks using an installed reporter. This can be an overlay in your browser, a link with your continuous integration, or any other format. More about reporters...

Split into paragraphs, extra info should be moved to inner documentation page

Velocity is a community

Velocity is designed from the ground up to encourage the development of new plugins. Like Meteor itself, Velocity is modular and does not architecturally favor one plugin over another.

Velocity comes with two reporters and provides a number of common services such as the creation of mirrors apps for isolation and instrumentation, running of setup code (fixtures), automatic stubbing for unit tests, and more.

Paragraphs added

It's easy to develop new testing systems and reporters for Velocity. Visit us on Github to learn more....

Everybody has a different skill level and it's probably best let the user make that judgement. I'm not saying it's not true, just need to be humble.

Ben, this is awesome. Thanks for starting this conversation. I agree with
many of your edits; there are some we should discuss further. Perhaps some
live conversation would be productive. Let me know if you are available
today at all. Anyone else who wants to join, let me know. My late afternoon
is shot, but I can find time 3:30 mountain/2:30 pac or earlier.

On Sun, Oct 26, 2014 at 12:32 AM, Ben Green notifications@github.com
wrote:

This is the first of discussion threads I will be starting for reviewing
and updating the copy of the Velocity website.

My suggestions are in italic with comments as code blocks.

Begin homepage copy:
Velocity (logo) The official testing framework of Meteor 1.0 Test
Framework for Meteor

People will know that it's official because of its presence, version
dropped because it will indefinitely be the test framework for Meteor

Meteor makes it easy to make modern web apps. Now Velocity makes it easy
to test them, too. Your tests update reactively, just like your apps.

You already know that Meteor makes creating modern web applications very
easy. Velocity makes it easy to test them. Just like your apps, your tests
update reactively.

Improve Flow

And since it's the officially sanctioned testing framework for Meteor, you
can use it with confidence.

Get started now! Installation

Better description of this tab box. Each tab should have a link to section
on inner page describing their operation

Integration testing with mocha syntax.

$ meteor add mike:mocha

Integration and unit testing with jasmine syntax.

$ meteor add sanjo:jasmine$ meteor add velocity:html-reporter

Something needs to be said why this is the only one that requires the
html-reporter separate.

Acceptance testing via browser automation

$ meteor add clinical:nightwatch

Added bash $ to commands
Features

  • Install a full testing solution with a single Meteor smart package
    in minutes. No more configuring outside packages. The viewer already
    know this from the quick start box above.
  • Run tests reactively as you save your code. For unit and acceptance
    tests, your suite will be rerun when you save, giving you real-time
    feedback on your testing status. It's the most powerful way to do test
    driven development.
  • Insert: Tests run in a mirror instance of Meteor, along with a
    clean database. No clean-up work required.
    The mirror is a huge
    feature that needs to be listed.
  • Bring multiple test frameworks together with common reporting. Run
    unit, integration, and end-to-end tests with features like code coverage
    reporting and automatic mocking for unit tests.
  • Run continuous integration (CI). Use meteor --test to run your tests
    in the command line. This allows you to use Velocity in your CI
    infrastructure.
  • Run Velocity without fear of polluting your production app. Test
    packages can be flagged as debugOnly. The Isopackage build system will
    automatically exclude test packages from production builds, allowing you to
    enjoy powerful integrated testing in your development environment without
    fear of affecting the production build.

How Velocity Works

Velocity accepts two kinds of plugin: test frameworks and reporters.
Velocity watches your tests/ directory and sends test files to the
correct framework. The testing framework performs the tests and sends
results for each test back to Velocity as they complete. Velocity then
combines the results from all of the testing frameworks and outputs them
via one or more reporters. When the app or tests change, Velocity will
rerun your tests and reactively update the results. Reporters can output
the results in your app in an overlay, via structured data (e.g., JSON) for
continuous integration, or other formats.

The Velocity core exposes an interface for two kinds of plugins: test
frameworks and reporters.

Each test framework performs its suite, calling back to Velocity as the
tests complete. More about test frameworks... http://...

Access results from the test frameworks using an installed reporter. This
can be an overlay in your browser, a link with your continuous integration,
or any other format. More about reporters... http://...

Split into paragraphs, extra info should be moved to inner documentation
page
Velocity is a community

Velocity is designed from the ground up to encourage the development of
new plugins. Like Meteor itself, Velocity is modular and does not
architecturally favor one plugin over another.

Velocity comes with two reporters and provides a number of common services
such as the creation of mirrors apps for isolation and instrumentation,
running of setup code (fixtures), automatic stubbing for unit tests, and
more.

Paragraphs added

It's easy to develop new testing systems and reporters for Velocity. Visit
us on Github to learn more...
https://github.com/meteor-velocity/velocity.

Everybody has a different skill level and it's probably best let the user
make that judgement. I'm not saying it's not true, just need to be humble.


Reply to this email directly or view it on GitHub
#7.

Nice. Thanks for your contributions. I like the changes.

Here is the reason why you need to add the html-reporter explicitly when you use sanjo:jasmine: https://github.com/Sanjo/meteor-jasmine/issues/26.

Ok, I've added suggestions to add to the quick start box a note about the inclusion of the HTML reporter as well as put the directory for tests. If you know the package name and the test directory and have experience with the framework, you can probably get going right away.