arq-persistence : dataset duplication in dataset.yml and in java
gonzalad Apr 30, 2012 10:56 AMHello,
I've just began using arquillian persistence.
When using datasets, I'm ending duplicating [1] my datasets in the yml file and in my unit test in order to verify the test result.
Is there a way to avoid code duplication (perhaps reading myself YamlDataSet but this approach doesn't seem clean) ?
Thanks very much !
[1] sample code - I'm duplicating my charge-clientele.yml inside my UT class:
@RunWith(Arquillian.class) @Transactional(TransactionMode.ROLLBACK) @Cleanup(strategy=CleanupStrategy.USED_ROWS_ONLY) @UsingDataSet("charge-clientele.yml") public class ChargeClienteleManagerTest { private List<ChargeClientele> dataset = new ArrayList<ChargeClientele>(); @Test public void testFindById() { ChargeClientele chargeClientele = chargeClienteleManager .findById(dataset.get(0).getId()); assertNotNull(chargeClientele); assertEquals("id invalide", dataset.get(0).getId(), chargeClientele.getId()); assertEquals("nom invalide", dataset.get(0).getNom(), chargeClientele.getNom()); assertEquals("prenom invalide", dataset.get(0).getPrenom(), chargeClientele.getPrenom()); assertEquals("code etab invalide", dataset.get(0) .getCompanyCode(), chargeClientele.getCompanyCode()); assertEquals("racf invalide", dataset.get(0).getUserRACF(), chargeClientele.getUserRACF()); } @Before public void setUp() throws Exception { ChargeClientele chargeClientele = new ChargeClientele(); chargeClientele.setId(160L); chargeClientele.setCompanyCode("000"); chargeClientele.setNom("JUNITNOM1"); chargeClientele.setPrenom("JUNITPRENOM1"); chargeClientele.setUserRACF("junit1"); dataset.add(chargeClientele); chargeClientele = new ChargeClientele(); chargeClientele.setId(161L); chargeClientele.setCompanyCode("000"); chargeClientele.setNom("JUNITNOM2"); chargeClientele.setPrenom("JUNITPRENOM2"); chargeClientele.setUserRACF("junit2"); dataset.add(chargeClientele); chargeClientele = new ChargeClientele(); chargeClientele.setId(162L); chargeClientele.setCompanyCode("000"); chargeClientele.setNom("JUNITNOM3"); chargeClientele.setPrenom("JUNITPRENOM3"); chargeClientele.setUserRACF("junit3"); dataset.add(chargeClientele); } }
Sample yml :
ChargeClientele: - id: 160 companyCode: 000 nom: JUNITNOM1 prenom: JUNITPRENOM1 userRACF: junit1 - id: 161 companyCode: 000 nom: JUNITNOM2 prenom: JUNITPRENOM2 userRACF: junit2 - id: 162 companyCode: 000 nom: JUNITNOM3 prenom: JUNITPRENOM3 userRACF: junit3