Bonjour a tous voici deux
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());
		}
	}
Donc mon premier test prend un expense direct de la bd qui est dans la transaction et tout se passe bien
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
		}
 
	}