带Spring2.1.3。版本,H2集成测试运行良好。
以下是配置
应用程序属性:
spring.application.name=someApp
spring.h2.console.enabled=true
spring.jackson.default-property-inclusion=NON_NULL
server.max-http-header-size=16000
配置类:
@Configuration
@Profile("test")
@EnableTransactionManagement
@EnableJpaRepositories(entityManagerFactoryRef = "writeEntityManagerFactory", transactionManagerRef = "writeTransactionManager", basePackages = {
"somepackage.repositories.write" })
public class H2DatabaseWriteConfiguration {
@Autowired
private DatabaseConfiguration vDatabaseConfiguration;
@Bean(name = "writeDataSource")
public DataSource writeDataSource() throws CommonConfigDecryptException {
String dbUrl = "jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1";
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("org.h2.Driver");
dataSource.setUsername("root");
dataSource.setPassword("root");
dataSource.setUrl(dbUrl);
Properties props = new Properties();
props.setProperty("spring.datasource.data", "data.sql");
props.setProperty("spring.datasource.initialization-mode", "ALWAYS");
dataSource.setConnectionProperties(props);
return dataSource;
}
@Bean(name = "writeEntityManagerFactory")
public LocalContainerEntityManagerFactoryBean entityManagerFactory(EntityManagerFactoryBuilder builder,
@Qualifier("writeDataSource") DataSource dataSource) {
return builder.dataSource(dataSource).packages("somepackage.models.jpa").persistenceUnit("write")
.build();
}
@Bean(name = "writeTransactionManager")
public PlatformTransactionManager writeTransactionManager(
@Qualifier("writeEntityManagerFactory") EntityManagerFactory writeEntityManagerFactory) {
return new JpaTransactionManager(writeEntityManagerFactory);
}
}
引导:
spring:
application:
name: someApp
main:
allow-bean-definition-overriding: true
jackson:
serialization:
fail-on-empty-beans: false
jpa:
database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
generate-ddl: false
hibernate:
ddl-auto: none
show-sql: true
properties:
hibernate:
enable_lazy_load_no_trans: true
将Spring boot版本升级到2.3.12.release.后,上述配置停止工作
我们看到的错误是
原因:组织。h2.jdbc。JdbcSQLSyntaxErrorException:未找到表“USERPROFILE”;SQL语句:插入userProfile。。。。。
当测试用例开始时,下面是日志,
Hibernate: create table hibernate_sequence (next_val bigint) engine=InnoDB
Hibernate: insert into hibernate_sequence values ( 1 )
Hibernate: create table userProfile .....
看起来正在创建表。
好吧,这需要一些时间,但问题只是依赖配置。
我不得不更新POM,使其使用之前执行的H2 jar,而不是最新的Spring boot父包。
使用Spring 2.1.3。发布,使用1.4.198。一切开始运行良好。
我是scala新手,junit测试用例不在集成测试中运行。 我在build.sbt中添加了 请帮助我运行集成测试
我的谷歌登录非常适合调试变体。但是当我尝试构建发布变体时,它停止工作......我提到了这个答案,但就我而言,我还没有上传到我的应用程序到Play商店。那么在这种情况下,我如何获得新的 sha1 密钥呢?
问题内容: 如何配置Maven编译器以将Java 5用于测试代码并将Java 1.4用于主代码? 问题答案: 如果要设置对相关Java版本的遵从性,则可以为每次执行配置编译器插件。假设Maven使用的JDK至少与您指定的最高版本相同。通过使用属性,可以在命令行或子项中覆盖该配置(如果需要): 如果您打算使用其他 编译器 ,则涉及的更多。因为您需要指定JDK的路径以及所使用的编译器版本。同样,这些可
我有两个版本的oracle,oracle Database 11g Enterprise Edition 11.2.0.1.0版本-生产版和oracle Database 11.g Enterprise Edition版本11.2-0.3.0版本-64位生产版 我有这个sql: 它适用于11.2.0.1.0,但在11.2.0.3.0上,我收到此错误: 我能做些什么来解决这个问题? 感谢。
问题内容: 我在运行Android 4.3的仿真器上使用Retrofit时遇到问题,并且设备在Android 4.4.2上运行,而相同的代码在运行Android 7.1.1的另一个仿真器上正常运行 每次尝试执行请求时,都会收到超时异常。 代码如下 和对api的调用 问题答案: 它显示为,起初建议提高客户端的连接超时值,正如在此答案中所解释的- 但在查看…的当前源代码时,这提示不兼容的协议。 服务器
问题内容: 我正在使用dotnet测试对dotnet核心库进行单元测试。我像这样在我的詹金斯奴隶上进行测试。 测试报告如下所示。 我在詹金斯(Jenkins)工作DSL中使用一个块来尝试阅读报告。 詹金斯似乎看到了这份报告。 记录测试结果 但这不是解析结果并将其合并到报告中。我在Jenkins构建仪表板上看不到测试报告。 有任何想法吗? 问题答案: 您可以使用以下管道代码来运行和发布dotnet核