NoSQLUnit — это
расширение JUnit для упрощения написания модульных и высокоуровневых тестов систем, которые используют
NoSQL в качестве бэкэнда. Посетите
официальную страницу для получения дополнительной информации.
расширение JUnit для упрощения написания модульных и высокоуровневых тестов систем, которые используют
NoSQL в качестве бэкэнда. Посетите
официальную страницу для получения дополнительной информации.
В текущем выпуске вместо поддержки одного нового движка я сосредоточился на реализации
встроенного в память
движка Redis на основе
Jedis . Прочитайте в
документации ограничения по текущей реализации. И, конечно, теперь
NoSQLUnit также поддерживает
встроенный
Redis, кроме
Managed и
Remote, вам нужно только зарегистрировать
правило EmbeddedRedis, чтобы использовать его.
@ClassRule public static EmbeddedRedis embeddedRedis = newEmbeddedRedisRule().build();
Более того, я исправил некоторые проблемы с
жизненным циклом Managed Cassandra .
Также я расширил поддержку
встроенного
движка Neo4j , разрешив использование экземпляра, определенного в
контекстном файле Spring, с использованием
пространства имен данных Spring . В следующем примере показано, что
NoSQLUnit будет заполнять данные в экземпляре, определенном в контексте приложения.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:neo4j="http://www.springframework.org/schema/data/neo4j" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/data/neo4j http://www.springframework.org/schema/data/neo4j/spring-neo4j-2.0.xsd"> <context:annotation-config/> <neo4j:config storeDirectory="target/config-test"/> </beans>
И в вашем тесте вам нужно только определить
правило SpringEmbeddedNeo4j, передавая объект контекста приложения, в котором
определен Neo4j .
@Autowired private ApplicationContext applicationContext; ... @ClassRule SpringEmbeddedNeo4j springEmbeddedGds = newSpringEmbeddedNeo4jRule().beanFactory(applicationContext).build();
И, наконец, в этой версии
NoSQLUnit я реализовал, что мы можем использовать
соединения Shard, предоставляемые
библиотекой Jedis, для заполнения определенных данных в разные сегменты. Единственное, что вам нужно сделать, это изменить экземпляр конфигурации
RedisRule на
ShardedRedisConfiguration . Смотрите следующий простой пример:
@Rule public RedisRule redisRule = new RedisRule(newShardedRedisConfiguration() .shard(host("127.0.0.1"), port(ManagedRedis.DEFAULT_PORT)) .password("a") .timeout(1000) .weight(1000) .shard(host("127.0.0.1"), port(ManagedRedis.DEFAULT_PORT + 1)) .password("b") .timeout(3000) .weight(3000) .build());
И это все для текущей версии.
Следующая версия 0.6.0 будет содержать поддержку HBase . Кроме того, есть открытый опрос, чтобы голосовать, какой двигатель вы хотели бы видеть в следующих выпусках:
Оставайтесь на связи с проектом и, конечно, я открыт для любых идей, которые, по вашему мнению, могут сделать
NoSQLUnit лучше.
Мы продолжаем учиться,
Алекс.
Ну, эти ботинки созданы для прогулок, и это именно то, что они будут делать. Однажды эти ботинки будут ходить по вам. (Эти ботинки сделаны для прогулок — Нэнси Синатра)