hi,
just wondering is there anyone who started using easyb?
which is behavior driven development framework. if you are not familiar with BDD here is my explanation.
as you heard and practicing TDD (test driven development), (if you follow test first approach) you keep your specification up front through test case.
for example -
public void testShouldCreateAnUserWhenItHasValidData() {…}
as you can see, you are actually writing test case for behavior(specification) for your expected code.
and based on that test case you are implemented your logic in code. this how TDD works. for more explanation google IT
in BDD, this process is more simplified, for example if you look at my previous example -
public void testShouldCreateAnUserWhenItHasValidData() {…}
you can find, i have written one scenario when user object has valid data.
same test can be in different scenarios such as, when user object has no valid data. or the caller is not authorized and so on.
so to make such thing clear in java code, it requires code like the following. ie.
public void testShouldCreateAnUserWhenItHasNoValidData();
public void testShouldCreateAnUserWhenItHasValidDataButCallerIsNotPermitted();
public void testShouldCreateAnUserWhenItHasValidDataButCallerIsPermitted();
here how BDD is proposing a new approach of making this thing more fluent through a simplified test framework.
like JUnit, easyb is also another test framework, where you are writing your test context, and behavior in groovy code.
actullay the beauty is test scenario are written following the user story convention
which is similar with the ideal convention
“as an Author
i want to write book
so that user can understand me”.
you can also generate user story from the groovy code which you can’t do with JUnit.
so you don’t need to maintain separate document for maintaing user stories.
so when you are preparing user story and you can use easyb and groovy to format your user story rather than using ms word, excel or notepad text file 
ie.
import com.somewherein.bdd.UserService
import com.somewherein.bdd.UserServiceImpl
import com.somewherein.bdd.Userscenario “create a new user with valid data”, {
given “an user with the valid data”, {
user = new User()
userService = new UserServiceImpl()
state = false
}
when “creating a new user”, {
state = userService.createUser(user)
}
then “returned state should be true”, {
state.shouldBe true
}
and “newly created user should be found”, {
userService.exists(user)
}
}
when i run this test it says -
Running user service story (UserServiceStory.groovy)
Scenarios run: 1, Failures: 0, Pending: 0, Time Elapsed: 0.649 sec1 behavior run with no failures
so if i ask for generating the user story – it generate the following text
1 scenario executed successfullyStory: user service
scenario create a new user with valid data
given an user with the valid data
when creating a new user
then returned state should be true
then newly created user should be found
this type of practice is very common in ruby on rails based development.
in ruby we have several options, but RSpec is the early comer who showed how cool it could be.
anyway, this is something you should work try EiD vacation, happy test first development.
easyb makes it easy, man
here is an article from javalobby
Is easyb Easy? | Javalobby
you can use it with spring framework, here is the example -
best wishes,
Recent Comments