Bonjour a tous voici deuxDonc mon premier test prend un expense direct de la bd qui est dans la transaction et tout se passe bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 @Test public void updateExpenseIdTest() throws Exception { try { Expense expense = expenseService.getExpense(1); assertThat(expense.getCost(), is(1.0)); expense.setCost(99d); ResultActions result = mockMvc.perform(put("/api/v2/expenses/{expenseId}", expense.getId()) .contentType(CONTENT_TYPE).content(jsonInbite).accept(CONTENT_TYPE)); result.andExpect(status().isOk()); Expense expenseFind = expenseService.getExpense(expense.getId()); assertThat(expenseFind.getCost(), is(99d)); } catch (Exception e) { Assert.fail(e.getMessage()); } } @Test public void updateExpenseTest() throws Exception { try { Request req = new Request(1.0); assertThat(req.getCost(), is(1.0)); ResultActions result = mockMvc.perform( put("/api/v2/expenses").contentType(CONTENT_TYPE).content(jsonInbite).accept(CONTENT_TYPE)); result.andExpect(status().isOk()); Expense expenseFind = expenseService.getExpense(req.getExpenseIds().get(0)); assertThat(expenseFind.getCost(), is(99d));//Plante ici car la valeur est resté a 25 } catch (Exception e) { Assert.fail(e.getMessage()); } }
par contre la deuxieme y va avec un updateExpenseTest ne se passe pas bien pourtant avec la transaction.
Est ce qu'une personne sait se qui se passe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 @RunWith(SpringRunner.class) @ContextConfiguration(locations = { "classpath:applicationContextIT.xml" }) @WebAppConfiguration @TestExecutionListeners({ DependencyInjectionTestExecutionListener.class, DirtiesContextTestExecutionListener.class, TransactionalTestExecutionListener.class, DbUnitTestExecutionListener.class }) @Transactional public abstract class Test<T extends TransferObject> { @Autowired private WebApplicationContext webApplicationContext; public MockMvc mockMvc; protected MockHttpSession session; @Autowired private FilterChainProxy springSecurityFilterChain; TestUtil<T> util = new TestUtil<T>(); protected static final String CONTENT_TYPE = "application/json"; @Before public void setUp() { try { this.session = new MockHttpSession(); this.mockMvc = MockMvcBuilders.webAppContextSetup(this.webApplicationContext) .addFilter(springSecurityFilterChain).build(); } catch (Exception e) { e.printStackTrace(); // TODO: handle exception } }
Partager