1. 坑1:SpringBoot2.2.1默认使用Junit5
所以导包时千万不要搞错:
import org.junit.jupiter.api.Test;
另外,Junit4时使用
@RunWith(SpringRunner.class)
而,Junit5时使用
@ExtendWith(SpringExtension.class)
2 坑2:如果项目中有WebSocket需要加webEnvironmen,表示内嵌的服务器将会在一个随机的端口启动
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
所以最后的测试类实例:
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import com.tang.factory.UserPayServiceStrategyFactory;
@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
public class UserPayServiceTest {
@Test
public void testName() throws Exception {
UserPayService service = UserPayServiceStrategyFactory.getByUserType("SuperVip");
BigDecimal quote = service.quote(new BigDecimal(2000));
System.out.println(quote);
}
}