2016-04-25 11 views
0

Ich entwickle einen JUnit-Test in einem Spring Controller, der Controller ruft eine Reihe von Services auf. Mein JUnit-Testcode oben:Null-Service während des Betriebs JUnit-Test mit Spring

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(classes = {WebApplicationConfiguration.class, DatabaseConfiguration.class, ServiceConfiguration.class}) 
@WebAppConfiguration 
    public class ProcessFileControllerTest { 

     private MockMvc mockMvc; 


     @Test 
     public void getPageTest() throws Exception{ 
      final ProcessFileController controller = new ProcessFileController(); 
      SecurityHelperUtility.setupSecurityContext("user", "pass", "ROLE_ADMIN"); 
      mockMvc = standaloneSetup(controller).build(); 

      mockMvc.perform(get(URI.create("/processFile.html")).sessionAttr("freeTrialEmailAddress", "")).andExpect(view().name("processFile")); 
     } 

Wenn ich den JUnit Test ausführen, ich ein NullPointerExcelption, wenn ich diese besondere Zeile Code nenne meine ProcessFileController.java

final Company company = companyService.getCompanyByUser(userName);

ich sehen kann, dass die Service ist Null. Jeder Hinweis

@Autowired private CompanyService companyService;

:

In meinem ProcessFileController.java die Service wird als deklariert? Danke im Voraus.

Antwort

3

Sie erstellen Ihren Controller mit dem neuen Schlüsselwort. Es sollte eine Feder-Managed-Bean für den Frühling sein, um seine Abhängigkeiten zu injizieren. Verwenden Sie @Autowired

@Autowired 
ProcessFileController controller; 
+0

Arbeitete wie ein Charme. Vielen Dank. –