Public | Automated Build

Last pushed: 2 years ago
Short Description
Short description is empty for this repo.
Full Description

TC Build Assistant

What is BDD Assistant?

BDD Assistant is an open source project that pretends to facilitate the creation and execution of Behavior Driven Development (BDD) stories as a way to better define the requirements.
More info can be found in the BDD Asssitant site.

Software is still in early stages.
We are looking for early adopters to help us out.
If you are interested in trying it out, please send an email to viktor@farcic.com for any help that you might need.

Running the application

To run the application from Docker container

Install Docker.

docker run -d -p 9000:9000 --name bdd_assistant vfarcic/technologyconversationsbdd

Open the http://localhost:9000 in you favorite browser.

To compile and run the application from the release

Install Scala, Play/Activator and SBT
Download the release from the GitHub releases page.

sbt clean stage
target/universal/stage/bin/tcbdd

Open the http://localhost:9000 in you favorite browser.

To compile and run the application from the latest code

Install Scala, Play/Activator and SBT

git clone https://github.com/TechnologyConversations/TechnologyConversationsBdd.git
sbt clean stage
target/universal/stage/bin/tcbdd

Open the http://localhost:9000 in you favorite browser.

To run the application in development mode (re-compiles with every change to the code)

Install Scala, Play/Activator and SBT

git clone https://github.com/TechnologyConversations/TechnologyConversationsBdd.git
sbt run

Open the http://localhost:9000 in you favorite browser.

Running the stories

In cases when running stories from the Web application is not a good option, an alternative runner can be executed from the command line.

To see the list of parameters, run the following:

sbt "test:run-main models.jbehave.JBehaveRunnerAssistant --help"

An example (used as part of our Travis setup):

sbt "test:run-main models.jbehave.JBehaveRunnerAssistant --story_path data/stories/tcbdd/**/*.story -P browser=phantomjs -P url=http://localhost:1234 -P widthHeight=1024,768 --composites_path composites/TcBddComposites.groovy"

Development prerequisites

Back-end

Scala
Play/Activator
SBT

Front-end

NodeJS with NPM

npm install -g grunt-cli
npm install -g gulp
npm install -g bower
npm install -D gulp-jasmine
npm install
bower install

IDEA project

Use the gen-idea sbt task to create Idea project files.

sbt gen-idea

Dependencies

Front-end dependencies can be installed by running following

npm install
bower install

npm and bower will add two directories:

  • public/node_modules
  • public/bower_components

Development

Front-end files need to pass the process of concatenation, uglification, annotation, testing...

To prepare front-end files execute:

gulp

To continuously run gulp js task, execute:

gulp watch

Deployment to Heroku

heroku create --stack cedar --buildpack https://github.com/ddollar/heroku-buildpack-multi.git
git push heroku master

Deployment to development environment

sbt run

Custom Steps

To add custom steps to the application copy the steps JAR to the steps directory.
If you think that your steps might be useful to others, please fork the steps repo, add your steps and create a pull request.

Unit Tests

Front-end

All front-end JS unit tests are run as part of gulp.
Alternative ways to run tests are described below.

Front-end unit testing

npm test

Front-end unit testing without installation and dependencies

grunt jasmine

Back-end

Back-end unit testing

sbt ~test-quick

Functional Tests

Directory where PhantomJS, ChromeDriver and IEDriverServer are located must be in the system path.

Docker Pull Command
Owner
vfarcic

Comments (0)