Статьи

Выпущена NoSQLUnit 0.5.0!

NoSQLUnit — это
расширение
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 лучше.

Мы продолжаем учиться,

Алекс.


Ну, эти ботинки созданы для прогулок, и это именно то, что они будут делать. Однажды эти ботинки будут ходить по вам.
(Эти ботинки сделаны для прогулок — Нэнси Синатра)