simter-reactive-test

Simter reactive test encapsulation

Лицензия

Лицензия

MIT
Категории

Категории

React Взаимодействие с пользователем Веб-фреймворки
Группа

Группа

tech.simter.reactive
Идентификатор

Идентификатор

simter-reactive-test
Последняя версия

Последняя версия

0.1.0
Дата

Дата

Тип

Тип

jar
Описание

Описание

simter-reactive-test
Simter reactive test encapsulation
Ссылка на сайт

Ссылка на сайт

https://github.com/simter/simter-reactive-test
Организация-разработчик

Организация-разработчик

simter
Система контроля версий

Система контроля версий

https://github.com/simter/simter-reactive-test.git

Скачать simter-reactive-test

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/tech.simter.reactive/simter-reactive-test/ -->
<dependency>
    <groupId>tech.simter.reactive</groupId>
    <artifactId>simter-reactive-test</artifactId>
    <version>0.1.0</version>
</dependency>
// https://jarcasting.com/artifacts/tech.simter.reactive/simter-reactive-test/
implementation 'tech.simter.reactive:simter-reactive-test:0.1.0'
// https://jarcasting.com/artifacts/tech.simter.reactive/simter-reactive-test/
implementation ("tech.simter.reactive:simter-reactive-test:0.1.0")
'tech.simter.reactive:simter-reactive-test:jar:0.1.0'
<dependency org="tech.simter.reactive" name="simter-reactive-test" rev="0.1.0">
  <artifact name="simter-reactive-test" type="jar" />
</dependency>
@Grapes(
@Grab(group='tech.simter.reactive', module='simter-reactive-test', version='0.1.0')
)
libraryDependencies += "tech.simter.reactive" % "simter-reactive-test" % "0.1.0"
[tech.simter.reactive/simter-reactive-test "0.1.0"]

Зависимости

compile (4)

Идентификатор библиотеки Тип Версия
io.projectreactor : reactor-core jar
org.springframework.boot : spring-boot-test-autoconfigure jar
org.springframework : spring-tx Необязательный jar
javax.persistence : javax.persistence-api Необязательный jar 2.2

test (8)

Идентификатор библиотеки Тип Версия
org.junit.jupiter : junit-jupiter jar
org.springframework.boot : spring-boot-starter-test jar 2.1.6.RELEASE
io.projectreactor : reactor-test jar
com.ninja-squad : springmockk jar 1.1.2
org.springframework : spring-jdbc jar
org.hibernate : hibernate-entitymanager jar 5.4.3.Final
org.hibernate.validator : hibernate-validator jar 6.0.17.Final
com.h2database : h2 jar 1.4.199

Модули Проекта

Данный проект не имеет модулей.

simter-reactive-test

Simter reactive test encapsulation.

Reactive JPA encapsulation

This module just create one @ReactiveDataJpaTest annotation class. It's an annotation use to instead of @DataJpaTest for reactive JPA test.

This annotation inherits from DataJpaTest and only disabled Transactional. Because EntityManager could not share between threads, and in reactive world operation do not guarantee run on same thread all the time. So no need to start Transactional on the unit test class. But must consider that transaction would not rollback default, you need to manual manage it by yourself.

Usage:

Maven:

<dependency>
  <groupId>tech.simter.reactive</groupId>
  <artifactId>simter-reactive-jpa</artifactId>
  <version>{version}</version>
</dependency>
<dependency>
  <groupId>tech.simter.reactive</groupId>
  <artifactId>simter-reactive-test</artifactId>
  <version>{version}</version>
</dependency>

Java:

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
import reactor.test.test;
import tech.simter.reactive.jpa.ReactiveEntityManager;
import tech.simter.reactive.test.jpa.ReactiveDataJpaTest;

@SpringJUnitConfig(tech.simter.reactive.jpa.ModuleConfiguration.class)
@ReactiveDataJpaTest
public class TheTest {
  @Autowired
  private ReactiveEntityManager rem;

  @Test
  public test() {
    // save
    MyPo po = new MyPo();
    StepVerifier.create(rem.persist(po))
      .expectNext(po).verifyComplete();

    // find one
    StepVerifier.create(
      rem.createQuery("select t from MyPo t where id = :id", MyPo.class)
      .setParameter("id", 123)
      .getSingleResult()
    ).expectNext(po).verifyComplete();

    // find list
    StepVerifier.create(
      rem.createQuery("select t from MyPo t", MyPo.class)
      .getResultList()
    ).expectNext(po).verifyComplete();
  }
}
tech.simter.reactive

Версии библиотеки

Версия
0.1.0