Skip to content
/ tinto Public

A functional testing library for component-based web applications

License

Notifications You must be signed in to change notification settings

rochdev/tinto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

276 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tinto

Version Build Status Test Coverage Code Climate Dependency Status Inline docs

A functional testing framework for component-based web applications

Usage

Installation

$ npm install --save-dev tinto

Configuration

Tinto is configured from an optional tinto.conf.js file that should be placed in your project root. It should export the configuration object directly.

Options

  • includeStack: Whether or not to include a stack trace in assertion error messages.
  • bundles: An array of bundle names or bundle instances to load.
  • browser: Which browser to use. See the WebDriver documentation for the list of supported browsers.

Defaults

{
  includeStack: false,
  bundles: [],
  browser: 'firefox'
}

Assertions syntax

Components

Property assertion
searchButton.should.have.text('Search');
Property assertion (alternate syntax)
searchButton.text.should.equal('Search');
State assertion
searchButton.should.be.enabled;
Count assertion
grid.should.have(3).rows;
Equality assertion
grid.rows(0).should.equal(firstRow);
Containing assertion
grid.should.contain(firstRow, secondRow);
Multiple assertions
searchButton.should.have.text('Search').and.be.enabled;
Multiple assertions (alternate syntax)
searchButton.should(
  have.text('Search'),
  be.enabled
);
Awaiting assertion
searchButton.should.eventually.have.text('Search').and.be.enabled;
Awaiting assertion (alternate syntax)
searchButton.should.eventually(
  have.text('Search'),
  be.enabled
);

Component definition

ES5
function Grid() {
  Component.apply(this, arguments);

  this.getter('rows', function() {
    return this.find('tr');
  });
}

tinto.inherits(Grid, Component);
ES6
class Grid extends Component {
  get rows() {
    return this.find('tr');
  }
}
.extend
var Grid = Component.extend({
  get rows() {
    return this.find('tr');
  }
});

Command-line interface

In order to use the CLI, you must install tinto globally. You can then run tinto --help to list available commands.

Examples

See the example folder for a complete example.

License

MIT License

Credits

This project was inspired by the excellent Testatoo functional testing library for Java.

About

A functional testing library for component-based web applications

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •