my idea to setup jenkins/hudson server

so we can test it there

can TDD do this?

F



On Fri, May 20, 2011 at 4:38 PM, Miguel <mig...@almeida.at> wrote:
> Hi Frans,
> On Fri, 2011-05-20 at 14:52 +0700, Frans Thamura wrote:
>
>>
>> and i have several question, and i think that is good if we can share it here
>>
>> i want to know, the test mechanisme , best practices of testing in Struts2 
>> world
>>
>
> I work in TDD, which means I write the tests first and then develop the
> functionality (check Lasse Koskela's book on the subject).
>
> My usual methodology is:
>
> - Pick up a story/use case (eg: click on People list button shows the
> list of all people in the phone book list)
> - Write a Test class for the PeopleAction.list() method
> - There will be a couple of tests: happy path, what if there aren't any
> people, what if there's a problem accessing the database?
> - Recently I've been developing a lot with services. this means the
> action will usually be simple, something like manipulate the properties
> that come from the request (if necessary) and pass them to the service
> - The last sentence means I can mock up the service here: I am
> interested in testing if the action behaves correctly - ie, if it
> catches exceptions, sends to the correct result, I am not really
> interested  in knowing if the database is being accessed correctly. So
> EasyMock is a good library to use
> - After building the test and the Action, I do have the problem: is my
> service (eg service.getAllPeople() ) working as expected? Time for some
> integration test. Bare in mind I'm working in TDD: I've build an
> interface for the service, but the implementation doesn't exist yet
> - I repeat the test-build cycle, this time to build the correct
> implementation of service.getAllPeople().
> - Work done
>
> Now, some remarks:
> - This unit testing doesn't do struts integration, such as:
>    - Struts validation
>    - My custom authorisation (I have developed a @AuthorisedRoles
> annotation that only authorised users with some roles to execute that
> action
>
> I'm not really sure what/when/where is the best way to test this. Right
> now I test this in a separate class that I suffix with, eg,
> *ValidationIntegrationTest. I'm not 100% happy with this approach, as
> a) I end up testing my action in 2 or 3 different places
> b) I'm not completely happy with my validation test class yet, which
> currently extends from StrutsSpringTestCase
>
>
> Regards,
>
> Miguel Almeida
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to