Hallo Leute hab mal eine Frage vllt könnt ihr mir weiterhelfen 
Habe im Unterricht eine WebApplication zu bauen und möchte nun meine Rest-Schnittstelle testen. Dafür habe ich folgenden Test geschrieben:
Wenn ich diesen Test in meiner IDE ausführe, bekomme ich keinen Fehler und alles läuft perfekt durch. Jedoch wenn ich um die CommandLine mit Maven das ganze Ding bauen möchte, bekomme ich immer folgenden Fehler:
mvn clean package...
java.lang.IllegalArgumentException: WebApplicationContext is required
Ich habe schon ein wenig Dr. Google befragt, jedoch bekomme ich dort keine Antwort die auf mein Problem zu trifft. Ich habe meine Config in der Klasse RestApplicationConfig vllt hilft das etwas weiter?
Hier die Klasse:
Kann mir vllt jemand weiter helfen ?
lg
Habe im Unterricht eine WebApplication zu bauen und möchte nun meine Rest-Schnittstelle testen. Dafür habe ich folgenden Test geschrieben:
Java:
package at.fdisk.core.rest;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.AnnotationConfigWebContextLoader;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.web.context.WebApplicationContext;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import static org.springframework.test.web.servlet.setup.MockMvcBuilders.webAppContextSetup;
/**
*
*/
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(loader = AnnotationConfigWebContextLoader.class, classes = at.fdisk.core.rest.RestApplicationConfig.class)
public class AusbildungApiTest {
@Autowired
private WebApplicationContext webApplicationContext;
private MockMvc mockMvc;
@Before
public void setup() {
this.mockMvc = webAppContextSetup(this.webApplicationContext).build();
}
@Test
public void insertNewAusbildung() throws Exception {
mockMvc.perform(
post("/ausbildungen")
.contentType(MediaType.APPLICATION_JSON)
.content(
"{\"startdatum\":\"2014-01-01\", \"kurzBezeichnung\":\"AS\", \"bezeichnung\":\"Atemschutz\", \"enddatum\":\"2014-01-02\"}"))
.andExpect(status().isCreated());
}
@Test
public void readFromEmptyListOfAusbildungen() throws Exception {
mockMvc.perform(get("/ausbildungen")).andExpect(status().isOk());
}
}
Wenn ich diesen Test in meiner IDE ausführe, bekomme ich keinen Fehler und alles läuft perfekt durch. Jedoch wenn ich um die CommandLine mit Maven das ganze Ding bauen möchte, bekomme ich immer folgenden Fehler:
mvn clean package...
java.lang.IllegalArgumentException: WebApplicationContext is required
Ich habe schon ein wenig Dr. Google befragt, jedoch bekomme ich dort keine Antwort die auf mein Problem zu trifft. Ich habe meine Config in der Klasse RestApplicationConfig vllt hilft das etwas weiter?
Hier die Klasse:
Java:
package at.fdisk.core.rest;
import at.fdisk.core.domain.DomainConfiguration;
import at.fdisk.core.repository.RepositoryConfiguration;
import at.fdisk.core.service.ServiceConfiguration;
import javax.sql.DataSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;
@Configuration
@Import(value = { DomainConfiguration.class, RepositoryConfiguration.class,
ServiceConfiguration.class })
@ComponentScan(basePackageClasses = RestPackage.class)
public class RestApplicationConfig {
@Bean
public DataSource dataSource() {
return new EmbeddedDatabaseBuilder().setType(EmbeddedDatabaseType.H2)
.build();
}
}
Kann mir vllt jemand weiter helfen ?
lg