I have a lot of tests that all roughly follow the same pattern:
- SeamTest initializes the embedded container
- set up a faces-request
- get an instance of a properly prepared seam component
- run some tests&assertions
e.g:
@Test public void testCombinedQuery() throws Exception{ new FacesRequest() { QueryManager queryManager; @Override protected void updateModelValues() { queryManager = (QueryManager)getInstance("queryManager"); } @Override protected void renderResponse() { Query query = new Query(); query.setDays("'DAY1', 'DAY2'"); query.setTopics("'1','3'"); int resultSize = queryManager.getNrOfQuestionsInQuery(query); assertEquals("Combined-Query did not return the correct Number of Questions", resultSize, COMBINEDQUERY_QUESTIONS); } }.run(); }