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.
Download the bdd-assistant-X.X.X.tar.gz from the releases and uncompress. Run:
wget https://github.com/TechnologyConversations/TechnologyConversationsBdd/releases/download/0.5.0/bdd-assistant-0.5.0.tar.gz
tar -xzf bdd-assistant-0.5.0.tar.gz
cd bdd-assistant
target/universal/stage/bin/tcbddOpen the http://localhost:9000 in you favorite browser.
Install Scala, Play/Activator and SBT
Download the release from the GitHub releases page.
sbt clean stage
target/universal/stage/bin/tcbddOpen the http://localhost:9000 in you favorite browser.
Install Scala, Play/Activator and SBT
git clone https://github.com/TechnologyConversations/TechnologyConversationsBdd.git
sbt clean stage
target/universal/stage/bin/tcbddOpen the http://localhost:9000 in you favorite browser.
Install Scala, Play/Activator and SBT
git clone https://github.com/TechnologyConversations/TechnologyConversationsBdd.git
sbt runOpen the http://localhost:9000 in you favorite browser.
To run the application from Docker container (experimental)
Install Docker.
To run the main container:
docker run -d -p 9000:9000 --name bdd vfarcic/bddTo run the main container with stories, composites and screenshots directories mapped outside the container:
STORIES_PATH=/data/bdd/data/stories
COMPOSITES_PATH=/data/bdd/composites
SCREENSHOTS_PATH=/data/bdd/screenshots
LOGS_PATH=/var/log/bdd
mkdir -p $STORIES_PATH $COMPOSITES_PATH $SCREENSHOTS_PATH $LOGS_PATH
docker run -d -p 9000:9000 --name bdd \
-v $STORIES_PATH:/opt/bdd/data/stories \
-v $COMPOSITES_PATH:/opt/bdd/composites \
-v $SCREENSHOTS_PATH:/opt/bdd/build/reports/tests \
-v $LOGS_PATH:/opt/bdd/target/universal/stage/logs \
vfarcic/bddTo run the application with MongoDB (still under development):
MONGODB_DATA_PATH=/var/lib/bdd/data/mongodb
docker run -d -p 27017:27017 -v $MONGODB_DATA_PATH:/data/db --name bdd_mongodb vfarcic/bdd_assistant_mongodbOpen the http://localhost:9000 in you favorite browser.
At the moment Docker container supports only PhantomJS browser
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"Docker vfarcic/bdd-runner-phantomjs can be used to run BDD stories using PhantomJS browser.
sudo docker run -t --rm vfarcic/bdd-runner-phantomjsRunning it without any argument outputs help. An example run with few arguments would be:
sudo docker run -t --rm vfarcic/bdd-runner-phantomjs \
--story_path data/stories/tcbdd/stories/storyEditorForm.story \
--composites_path /opt/bdd/composites/TcBddComposites.groovy \
-P url=http://demo.bddassistant.com -P widthHeight=1024,768Stories, composites and screenshots directories can be mapped outside the container as previously explained.
npm install -g grunt-cli
npm install -g gulp
npm install -g bower
npm install -D gulp-jasmine
npm install
bower installUse the gen-idea sbt task to create Idea project files.
sbt gen-ideaFront-end dependencies can be installed by running following
npm install
bower installnpm and bower will add two directories:
- public/node_modules
- public/bower_components
Front-end files need to pass the process of concatenation, uglification, annotation, testing...
To prepare front-end files execute:
gulpTo continuously run gulp js task, execute:
gulp watchheroku create --stack cedar --buildpack https://github.com/ddollar/heroku-buildpack-multi.git
git push heroku mastersbt runTo 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.
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 testFront-end unit testing without installation and dependencies
grunt jasmineBack-end unit testing
sbt ~test-quickDirectory where PhantomJS, ChromeDriver and IEDriverServer are located must be in the system path.