每当应用程序启动时,Spring Boot都不会运行单元测试

时间:2016-12-15 16:17:17

标签: unit-testing intellij-idea spring-boot

我开始将单元测试编写到Intellij Idea上的Spring Boot应用程序。

我有这个测试类:

@RunWith(SpringJUnit4ClassRunner.class)
@WebIntegrationTest(randomPort=true)
@SpringApplicationConfiguration(Application.class)

public class UserTest {

    @Value("${local.server.port}")
    private int port;

    private TestRestTemplate restTemplate = new TestRestTemplate();

    @Test
    public void login()  {
        User myUser = new User();
        myUser.setUsername("myName");
        myUser.setPassword("myPass");

        ResponseEntity<String> r = this.restTemplate.getForEntity("http://localhost:"+port+"/users/login?username="+myUser.getUsername()+"&password="+myUser.getPassword(), String.class);
        assertThat(r.getBody(), containsString("myName"));
    }

    @Test
    public void getUsername() throws Exception {
        User user = new User();
        assertNotEquals("myName", user.getUsername());
    }

}

当我通过Run-&gt; Run'UserTest'运行它时,这工作正常,但是当我启动应用程序时如何让它自动运行,并让它在Spring Boot输出窗口输出测试结果?< / p>

1 个答案:

答案 0 :(得分:0)

在IntelliJ IDEA中,打开“运行/调试配置”菜单,并根据Maven默认配置创建新配置。

将以下内容放入命令行字段:clean test spring-boot:run

然后使用这个新配置运行您的应用程序。

enter image description here