如何测试springBoot的main()方法?

28 浏览
0 Comments

如何测试springBoot的main()方法?

@RunWith(SpringRunner.class)
@SpringBootTest
public class BankMainAppTest {
    /**
     * 测试应用程序加载时不抛出异常。
     */
    @Test
    public void contextLoads() {
    }//通过
    @Test
    public void applicationStarts() {
        BankMainApp.main(new String[] {});
    }//失败,抛出以下异常..
}

java.lang.IllegalArgumentException: 无法实例化工厂类:

org.springframework.boot.env.EnvironmentPostProcessor

0
0 Comments

Spring Boot主方法的测试方法是一项常见的任务,但有时候我们可能会遇到问题。在测试Spring Boot主方法时,有两种常见的错误。首先,我们可能会在测试类上同时使用@Test注解和@SpringBootTest注解。其次,我们可能会在测试方法中调用main()方法。

这两种错误的解决方法很简单。对于第一种错误,我们只需在测试类上注解@Test@SpringBootTest,而不是二者同时使用。对于第二种错误,我们只需在测试方法中调用main()方法,而不是在测试方法外部调用。

下面是一个示例,展示了测试Spring Boot主方法的正确方式:

public class BankMainAppIT {
   public void main() {
      BankMainApp.main(new String[] {});
   }
}

在这个示例中,我们在测试方法main()中调用了BankMainApp.main()方法。这样做的好处是,我们可以在测试方法内部进行额外的断言操作,以验证主方法的行为和结果是否符合预期。

总结起来,测试Spring Boot主方法的关键是避免同时使用@Test注解和@SpringBootTest注解,并在测试方法中调用main()方法。这样做可以确保我们能够正确地测试Spring Boot应用程序的主方法。

0