Spring Boot Integration Test von Routes

chris080

Mitglied
Sorry ich habe in der Themenauswahl kein JUnit oder Testing gefunden. Leider gab es auch keine Suchfunktion. Sorry, falls das hier falsch ist.

Ich habe eine Vaadin-Komponente mit Spring Boot. Ich will einen Aufruf ihrer Route testen und dann prüfen, welche Response ich bekomme.

Ursprünglich, wollte ich mit Userrollen testen, ob eine geschützte Route auch noch geschützt ist. Aber wusste nicht, dass selbst das einfache Prüfen der Response solche Probleme bereitet. Ich habe schon so viele Sachen versucht, ich weiß gar nicht mehr, was ich nicht versucht habe.

MethodUsedEditView.java
Java:
@Component
@Scope("prototype")
@RolesAllowed(value = {Role.ROLE_ADMIN})
@Route(value = "methodUsed/create", layout = CustomAppLayout.class)
@ResponseBody
public class MethodUsedEditView extends VerticalLayout implements BeforeEnterObserver {
    private final DSLContext dslContext;
    private MethodUsedService methodUsedService;

    public MethodUsedEditView(DSLContext dslContext, MethodUsedService methodUsedService) {
        this.dslContext = dslContext;
        this.methodUsedService = methodUsedService;
    }
 
    ...
}

Und dazu die Testklasse AuthorizationTest.java
Java:
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
public class AuthorizationTest {

    @LocalServerPort
    private int port;
 
    private MockMvc mockMvc;

    @BeforeEach
    public void setUp() {
        DSLContext dslContextMock = mock(DSLContext.class);
        this.port = 8899;
        MethodUsedService methodUsedService = mock(MethodUsedService.class);
        this.mockMvc = MockMvcBuilders
            .standaloneSetup(new MethodUsedEditView(dslContextMock, methodUsedService))
            .build();
    }

    @Test
    //@WithMockUser(roles = "ADMINISTRATOR")
    public void testAccessWithCorrectRole() throws Exception {
        mockMvc.perform(get("localhost:" + port + "/prf2/methodUsed/create")).andExpect(status().isOk());
    }
}

Und der Test gibt mir
Java:
java.lang.AssertionError: Status expected:[200] but was:[404]
zurück. Er findet sie nicht und ich weiß nicht wieso. Habe sogar die ganze Route angegeben und auch das half nicht. Denke irgendwas mache ich mit Spring Boot und den Beans nicht richtig, weshalb er die Abhängigkeit nicht herstellen kann oder ich brauche für die Tests eine spezielle Config, von der ich (leider) nichts weiß und wäre sie da, wüsste Spring Boot die View bzw. die zugehörige Route zu triggern.
 

chris080

Mitglied
Okay danke. Aber kann man Routes nicht irgendwie mit JUnit testen?

Leider ist es in Spring Boot mit den Autowiring und Configs hier und da für mich sehr schwer ersichtlich, was tatsächlich wo passiert. Also besonders für jemanden wie mich, der von nodeJS mit TypeScript kommt. Dort wurde zwar viel händisch gemacht, aber ich hatte so immer die Möglichkeit zu sehen, wo wann welche Daten wie verarbeitet/weitergeleitet werden. Mit dem Autowiring-Konzept muss ich erstmal warm werden xD
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
OnDemand SOAP Rest Spring Boot Allgemeine Java-Themen 5
bueseb84 Spring Boot Entity mit Liste Allgemeine Java-Themen 4
Zrebna Bitte um Empfehlungen für "zeitlose" Bücher bzgl. Backend mit Spring und Beans Allgemeine Java-Themen 25
M Spring Locking Allgemeine Java-Themen 13
M Spring Locking Allgemeine Java-Themen 6
M Spring Security Allgemeine Java-Themen 2
OnDemand Übersetzung Spring mit Iln8 Allgemeine Java-Themen 0
OnDemand Mit Jenkins gebaut: NPE Spring Context Allgemeine Java-Themen 7
N Value Wert aus HTML-Button mittels thymeleaf spring an java übergeben Allgemeine Java-Themen 2
8u3631984 Spring Component mit Builder Allgemeine Java-Themen 20
A Spring und Hibernate Allgemeine Java-Themen 2
T Was ist Spring? Allgemeine Java-Themen 9
G Spring Allgemeine Java-Themen 7
Tom299 eine Konstante in Spring definieren? Allgemeine Java-Themen 4
M Spring oder nicht, das ist hier die Frage Allgemeine Java-Themen 3
data89 Java als Boot-Prozess/Daemon? Allgemeine Java-Themen 6
S 1. deutsches JAVA (Boot) CAMP 2006 Allgemeine Java-Themen 3
J Integration pay Pale in eine JavaFx Desktop Application Allgemeine Java-Themen 1
Z MVC Pattern - sinnvolle Integration Allgemeine Java-Themen 6
sascha-sphw Erste Schritte Unit und Integration-Tests im Java Modul System Allgemeine Java-Themen 10
Husamoli345 Jsf-Selenium integration Allgemeine Java-Themen 43
S Linear Prediction + Integration von Zeitreihen Allgemeine Java-Themen 3
W Requirements an ein Continuous Integration Tool Allgemeine Java-Themen 21
J integration in Open Office Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben