Arquillian Persistence Extension Implementation

Extension for controlling data sources

Лицензия

Лицензия

Категории

Категории

JBoss Контейнер Application Servers Arquillian Тестирование приложения и мониторинг
Группа

Группа

org.jboss.arquillian.extension
Идентификатор

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

arquillian-persistence-impl
Последняя версия

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

1.0.0.Alpha6
Дата

Дата

Тип

Тип

jar
Описание

Описание

Arquillian Persistence Extension Implementation
Extension for controlling data sources
Ссылка на сайт

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

http://www.jboss.org/arquillian-persistence-impl
Организация-разработчик

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

JBoss by Red Hat

Скачать arquillian-persistence-impl

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

<!-- https://jarcasting.com/artifacts/org.jboss.arquillian.extension/arquillian-persistence-impl/ -->
<dependency>
    <groupId>org.jboss.arquillian.extension</groupId>
    <artifactId>arquillian-persistence-impl</artifactId>
    <version>1.0.0.Alpha6</version>
</dependency>
// https://jarcasting.com/artifacts/org.jboss.arquillian.extension/arquillian-persistence-impl/
implementation 'org.jboss.arquillian.extension:arquillian-persistence-impl:1.0.0.Alpha6'
// https://jarcasting.com/artifacts/org.jboss.arquillian.extension/arquillian-persistence-impl/
implementation ("org.jboss.arquillian.extension:arquillian-persistence-impl:1.0.0.Alpha6")
'org.jboss.arquillian.extension:arquillian-persistence-impl:jar:1.0.0.Alpha6'
<dependency org="org.jboss.arquillian.extension" name="arquillian-persistence-impl" rev="1.0.0.Alpha6">
  <artifact name="arquillian-persistence-impl" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.jboss.arquillian.extension', module='arquillian-persistence-impl', version='1.0.0.Alpha6')
)
libraryDependencies += "org.jboss.arquillian.extension" % "arquillian-persistence-impl" % "1.0.0.Alpha6"
[org.jboss.arquillian.extension/arquillian-persistence-impl "1.0.0.Alpha6"]

Зависимости

compile (10)

Идентификатор библиотеки Тип Версия
org.jboss.arquillian.extension : arquillian-persistence-api jar 1.0.0.Alpha6
org.jboss.arquillian.extension : arquillian-transaction-spi jar
org.jboss.arquillian.extension : arquillian-transaction-jta jar
org.dbunit : dbunit jar 2.4.9
org.slf4j : slf4j-api jar 1.7.2
org.yaml : snakeyaml jar 1.10
org.codehaus.jackson : jackson-mapper-asl jar 1.9.2
org.apache.poi : poi jar 3.2-FINAL
org.jboss.shrinkwrap : shrinkwrap-impl-base jar
org.jboss.shrinkwrap.descriptors : shrinkwrap-descriptors-api-base jar

provided (8)

Идентификатор библиотеки Тип Версия
javax.transaction : jta jar 1.1
org.jboss.arquillian.core : arquillian-core-impl-base jar
org.jboss.arquillian.test : arquillian-test-impl-base jar
org.jboss.arquillian.core : arquillian-core-spi jar
org.jboss.arquillian.container : arquillian-container-spi jar
org.jboss.arquillian.container : arquillian-container-test-impl-base jar
org.jboss.arquillian.test : arquillian-test-spi jar
org.jboss.arquillian.config : arquillian-config-api jar

test (6)

Идентификатор библиотеки Тип Версия
org.jboss.arquillian.test : arquillian-test-impl-base jar 1.0.3.Final
org.jboss.arquillian.core : arquillian-core-impl-base jar 1.0.3.Final
junit : junit jar
pl.pragmatists : JUnitParams jar 0.4.0
org.easytesting : fest-assert jar 1.4
org.mockito : mockito-all jar 1.9.0

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

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

Arquillian Persistence Extension

Build Status

To read complete documentation visit http://arquillian.org/arquillian-extension-persistence/

1. Overview

1.1. What Is This?

Arquillian Persistence Extension was created to help you write tests where persistence layer is involved. Inspired by great framework called Unitils, it brings a bunch of annotations to help you deal with the underlying data storage.

It comes with following features:

  • Wrapping each test in the separated transaction (with commit (default) or rollback at the end).

  • Seeding database using:

    • DBUnit with XML, XLS, YAML and JSON supported as data sets format.

    • Custom SQL scripts.

  • Comparing database state at the end of the test using given data sets (with column exclusion).

  • Eviction JPA second level cache between test method invocation, see @JpaCacheEviction.

1.2. Containers Used For Testing

  • Glassfish 3.1.2 Embedded

  • JBoss AS 7.0.2 Final (managed)

  • JBoss AS 7.1.1.Final (managed)

  • Wildfly 8.1

1.3. Verified With Following Databases

  • HSQL

  • MS SQL 2008 Express (with Microsoft JDBC Driver)

  • MySQL 5.5.24

  • PostgreSQL 9.1.4

  • Oracle 11g

  • Derby

Enough talking, let’s see it in action!

1.4. Code Example

@RunWith(Arquillian.class)
public class UserPersistenceTest
{

  @Deployment
  public static Archive<?> createDeploymentPackage()
  {
      return ShrinkWrap.create(JavaArchive.class, "test.jar")
                       .addPackage(UserAccount.class.getPackage())
                       .addPackages(true, "org.fest") // FEST Assert is not part of Arquillian
                       .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml")
                       .addAsManifestResource("test-persistence.xml", "persistence.xml");
  }

  @PersistenceContext
  EntityManager em;

  @Test
  @UsingDataSet("datasets/users.yml")
  @ShouldMatchDataSet("datasets/expected-users.yml")
  public void should_change_user_password() throws Exception
  {
      // given
      String expectedPassword = "LexLuthor";
      UserAccount user = em.find(UserAccount.class, 2L);

      // when
      user.setPassword("LexLuthor");
      em.merge(user);

      // then
      assertThat(user.getPassword()).isEqualTo(expectedPassword);
  }
}

There are just two things which are different from the standard Arquillian test - @UsingDataSet and @ShouldMatchDataSet annotations. Former seeds the database using file in YAML format, and latter verifies database state using given file.

This example is taken from integration tests written for this project, so feel free to have a closer look.

But it’s that easy! And there’s more to come!

If you have any questions or would like to file feature request or bug report (hope not!) please have a look at the ways how you can get in touch with us.

org.jboss.arquillian.extension

An Innovative Testing Platform for the JVM

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

Версия
1.0.0.Alpha6
1.0.0.Alpha5
1.0.0.Alpha4
1.0.0.Alpha3
1.0.0.Alpha2
1.0.0.Alpha1