ale*_*oid 6 spring cassandra spring-boot spring-data-cassandra
在我的Spring Boot 1.5.1应用程序中,我将为Cassandra相关逻辑编写单元/集成测试.
我添加了以下Maven依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-cassandra</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)
默认的Spring Boot Cassandra配置将与真正的Cassandra DB服务器连接.
Spring/Spring Boot中是否有任何选项可以配置我的测试以使用嵌入式Cassandra服务器?如果是这样,请您显示所需的配置.
我们在项目Cassandra + Spring Boot上使用.以下是对我们有用的步骤:
a)配置你这样的测试
import org.cassandraunit.spring.CassandraDataSet;
import org.cassandraunit.spring.CassandraUnitDependencyInjectionTestExecutionListener;
import org.cassandraunit.spring.CassandraUnitTestExecutionListener;
import org.cassandraunit.spring.EmbeddedCassandra;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = TestConfiguration.class)
@TestExecutionListeners(listeners = {
CassandraUnitDependencyInjectionTestExecutionListener.class,
CassandraUnitTestExecutionListener.class,
ServletTestExecutionListener.class,
DependencyInjectionTestExecutionListener.class,
DirtiesContextTestExecutionListener.class
})
@EmbeddedCassandra(timeout = 60000)
@CassandraDataSet(value = {"bootstrap_test.cql"}, keyspace = "local_test")
public abstract class BaseTest {
Run Code Online (Sandbox Code Playgroud)
b)在你的src/test/resources/application.properties中,添加它(请注意,嵌入式cassandra在端口9142上启动,但在默认情况下不是9042)
spring.data.cassandra.port=9142
spring.data.cassandra.keyspace-name=local_test
Run Code Online (Sandbox Code Playgroud)
c)在src/test/resources中创建空文件bootstrap_test.cql
d)添加到您的pom.xml
<dependency>
<groupId>org.cassandraunit</groupId>
<artifactId>cassandra-unit-spring</artifactId>
<version>${cassandra-unit.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.cassandraunit</groupId>
<artifactId>cassandra-unit</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.cassandraunit</groupId>
<artifactId>cassandra-unit-spring</artifactId>
<version>${cassandra-unit.version}</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
这应该足以使用Embedded Cassandra运行测试.希望能帮助到你.
归档时间: |
|
查看次数: |
6643 次 |
最近记录: |