YahooArchive / arrow

FE Test framework designed to promote TDD
http://yahoo.github.io/arrow/arrow_intro.html
BSD 3-Clause "New" or "Revised" License
55 stars 59 forks source link

***NOTE: This project is under maintenance mode and is not actively worked upon. We will only work on severe issues/bugs,if and when needed. Please feel free to fork it if you want to add a feature or make any enhancement.

Arrow

Build StatusNPM version

Overview

Arrow is a test framework designed to promote test-driven JavaScript development. Arrow provides a consistent test creation and execution environment for both Developers and Quality Engineers.

Arrow aims to completely remove the line between development’s Unit tests, and Functional and Integration tests by providing a uniform way to create and execute both.

Arrow itself is a thin, extensible layer that marries JavaScript, NodeJS and Selenium. Arrow allows you to write tests using YUI-Test and execute those tests using NodeJS or Selenium. Additionally, Arrow provides a rich mechanism for building, organizing and executing test and test scenarios.

Install

npm install -g yahoo-arrow

Options

Examples

Below are some examples to help you get started.

Unit test:

arrow --lib=../src/greeter.js test-unit.js

Unit test with a mock page:

arrow --page=testMock.html --lib=./test-lib.js test-unit.js

Unit test with --shareLibPath to replace --lib:

Please note that the folder passed to --shareLibPath need follow layout convention as described in arrow cookbook "Arrow In-Depth"

arrow --page=testMock.html --shareLibPath=../ test-unit.js

Unit test with selenium:

arrow --page=testMock.html --lib=./test-lib.js --driver=selenium test-unit.js

Integration test:

arrow --page=http://www.hostname.com/testpage --lib=./test-lib.js test-int.js

Integration test:

arrow --page=http://www.hostname.com/testpage --lib=./test-lib.js --driver=selenium test-int.js

Custom controller:

arrow --controller=custom-controller.js --driver=selenium

Arrow Dependencies

Dependency Status

NPM Dependencies

NPM Dev Dependencies

Apart from above mentioned npm modules, Arrow also relies on these two projects