@SpringBootApplication
@ComponentScan(value = "ignore")
@RunWith(SpringRunner.class)
public class MyApplication {
@Bean
YAMLConfig myeadFromYMLFile() {
return new YAMLConfig();
}
public static void main(String[] args) throws InterruptedException {
ConfigurableApplicationContext context =
SpringApplication.run(MyApplication.class, args);
YAMLConfig myBean = context.getBean(YAMLConfig.class);
myBean.doSomething();
myBean.printApi();
}
}
java prettyprint-override">@Configuration
@EnableConfigurationProperties
public class YAMLConfig {
@Value("${refresh.rate}")
private int refreshRate;
@Value("${datasource.apiUrl}")
private String apiUrl;
public void doSomething() {
System.out.printf("Refresh Rate : %s%n", refreshRate);
}
public void printApi() {
System.out.printf("Refresh Rate : %s%n", apiUrl);
}
public String getApiUrl() {
return apiUrl;
}
}
问题:当我在src/java/main中运行类MyApplication时,一切都很酷。但是:当我在src/java/test中运行这个类时,它会失败
附注:我有spring-boot-starter-web依赖项。通过@springboottest,我得到了以下信息:
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html已经回答了我的问题。谢谢伙计们!
我创建了一个E2E测试项目,最初,所有的java类都在'src/test/java“中,但现在我想把所有不包含测试的文件移到”src/main/java“文件夹中,问题就出在我做了之后: 我不能将包从”src/test/java“导入到”src/main/java“(但可以做相反的操作)。 清理了项目,并尝试通过IDE和maven运行,但它并没有改变结果。 我做错了什么?
我有两个给定接口的实现,都用@Component注释。 src/main中有一个实现- 我在src/test中有一个测试类ABCTest.java,用 @Runwith(SpringRunner.class)、@SpringBoottest、@ContextConfigation、@ComponentScan、@EnableAutoConfigation 我希望这个ABCTest.java在运行测
业务逻辑类:测试用例类: 我尝试过清理,将testResources目录放在POM中。我不想在类路径中添加classes文件夹。请指教。
新手来了!我在SO上发现了很多类似的问题,但没有一个给我一个明确的答案。 我尝试过的一个可能的解决方案是不运行这些脚本(从'classpath:db/schema.sql'中删除init=runscript\\从'classpath:db/data.sql'中删除runscript),在测试之前以编程方式创建一些对象并将它们持久化到数据库,然后编写test,但我认为从脚本填充数据比在每个测试类中编
当我们说mvn测试时,通常的方法是maven会在src/test/java文件夹中查找存在的测试。但是我的测试放在不同的文件夹中,即src/integration-test/java。如何通过命令行运行该文件夹中的测试?
我从这个站点上前面的回答中了解到,对于Maven构建: 将部署到生产中,而将不部署到生产中。 包含主应用程序,而将包含测试主应用程序的代码 现在我的问题是,在编写测试框架时,哪种方法更好/更差: 测试框架本身将是主应用程序-因此它将驻留在?上 测试框架将仅用于测试主应用程序-因此将驻留在?上 但不知何故,我无法想象一个测试框架被部署到生产中。 方法2似乎是正确的,但是如果主要目的是编写一个测试框架