Java – Test and launch the spring boot application

I have a JUnit test. After the test, start a spring boot application (in my example, the main class is springtestdemoapp):

@WebIntegrationTest
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = SpringTestDemoApp.class)
public class SpringTest {

    @Test
    public void test() {
        // Test http://localhost:8080/ (with Selenium)
    }
}

Using spring boot 1.3 3. Release everything is normal Nevertheless, the annotations @ webintegration test and @ springapplicationconfiguration have been in spring boot 1.5 2. Delete in release I tried to refactor the code into a new version, but I couldn't Through the following test, my application did not start before the test, http://localhost:8080 Return 404:

@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringTestDemoApp.class)
@WebAppConfiguration
public class SpringTest {

    @Test
    public void test() {
        // The same test than before
    }

}

How can I refactor my test to work in spring boot 1.5?

Solution

@The webenvironment option in spring boottest is very important It can adopt none, mock and random_ PORT,DEFINED_ Port equivalent

>None will only create spring beans, not any simulated servlet environment. > Mock will create spring beans and simulate servlet environment. > RANDOM_ Port will start the actual servlet container on the random port; This can be automatically assembled using @ localserverport. > DEFINED_ Port gets the port defined in the properties and uses it to start the server

If no webenvironment is defined, the default value is random_ PORT. So the application may start for you on a different port

Try overwriting it with defined_ Port, or try to automatically assemble the port number and try to run the test on that port

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>