将需要执行的测试用例全部准备好之后,相对应的testng配置也配置好,启动testng时,发现注入的实例全部都是null,根本没法用,一直报错
报错情况如下:
后面经大神指点,加入启动Spring的方法:
首先在Application中加入方法
import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.config.YamlPropertiesFactoryBean; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; import org.springframework.core.io.ClassPathResource; @SpringBootApplication(exclude = MongoAutoConfiguration.class) @MapperScan(basePackages="com.example.demo.dao") @Configuration public class Application { public static boolean started = false; private static ApplicationContext applicationContext; public static ApplicationContext get(){ return applicationContext; } public static void main(String[] args) { applicationContext = SpringApplication.run(Application.class, args); started = true; } }
然后在测试用例代码中加入调用启动Spring boot的方法
public static ApplicationContext applicationContext; @BeforeClass public void start(){ if(!Application.started){ applicationContext = SpringApplication.run(Application.class); Application.started = true; }else{ applicationContext = Application.get(); } }
这样就可以正常启动Spring boot了