2017-02-12 52 views
0

我有OuterTest与此代码:如何将外部类的值传递给@Nested @Test int JUnit 5?

private MockMvc mockMvc; 

@Mock 
private Service Service; 

@InjectMocks 
private RestController RestController; 

@BeforeEach 
public void setUp() { 
    MockitoAnnotations.initMocks(this); 
    mockMvc = standaloneSetup(RestController) 
      .build(); 
} 

和我有一个嵌套类,与测试,反复在我的项目几次,但必须在我所有的控制器单独测试

 @Nested 
    public class RepeatableTest extends repeatableTestSuite { 

      } 
     } 

这是测试的情况下,反复遍布项目

@Test 
void repeatableTestCase_shouldFailTest(MockMvc mockMvc, String url, Service service) throws Exception { 

    mockMvc.perform(post(url, INVALID_VALUE)) 
        .andExpect(status().isBadRequest()) 

      verifyZeroInteractions(service); 
     } 

测试失败,因为它需要MockMvc和URL,C在外部课堂重新配置和配置,我该怎么做?

回答

0

将溶液在repeatableTestSuite ,然后以限定protected MockMvc mockMvc@Nested

@Nested 
public class RepeatableTest extends RepeatableTestSuite { 

     @BeforeEach 
     void setUp() { 
      mockMvc = OuterClassTest.this.mockMvc; 
      url = OuterClassTest.URL; 
      service = OuterClassTest.this.service; 
     } 
    }