Sobre DbUnit - PUC-Rio

Propaganda
Sobre DbUnit
DbUnit é uma extensão JUnit (também utilizáveis com Ant) destinada a
base de dados-dirigido projetos que, entre outras coisas, coloca o seu
banco de dados em um estado conhecido entre o teste é executado.
Esta é uma excelente forma de evitar a miríade de problemas que
podem ocorrer quando um caso teste corrompe o banco de dados e faz
testes posteriores ao fracasso ou agravar os prejuízos.
DbUnit tem a capacidade de exportação e importação de dados para
seu banco de dados e de dados XML. Desde a versão 2.0, DbUnit
também pode trabalhar com muito grande de dados, quando utilizado
em modo streaming. DbUnit também pode ajudá-lo a verificar se o seu
banco de dados esperado jogo um conjunto de valores.
Notícias
DbUnit Plugin Maven
Use este plugin para executar DbUnit está utilitários.
Visão geral das metas



dbunit: operação: Executa uma operação de dados utilizando um ficheiro de
dados externos.
dbunit: exportação: Exportação de dados tabelas em um arquivo de dados.
dbunit: comparar: Comparar um conjunto de dados com a base de dados.
Uso
Instruções sobre como usar o DbUnit Plugin Maven pode ser encontrada
na página uso.
Exemplos



Limpar banco de dados e inserir um conjunto de dados antes da fase de
ensaio.
Exportação entired banco de dados para um arquivo de dados após o ensaio.
Ocultar nome de usuário / senha em settings.xml.
Uma abrangente e correr exemplo está disponível no SVN
© 2006-2009 Codehaus
dbunit: operação
Nome completo:
org.codehaus.mojo: dbunit-Maven-plugin :1.0-beta-2: operação
Descrição:
Executa DbUnit A operação com um banco de dados do ficheiro de dados externos.
Atributos:
 Requer um Maven 2,0
projeto a ser
executado.
 Requer resolução
dependência de
artefatos na
extensão: compile
Obrigatório Parâmetros
Nome
Tipo
Descrição
Desde
String -
O nome da classe do driver JDBC a ser utilizado.
condutor
formato
String -
src
File
tipo
String -
Tipo de banco de dados operação a efectuar. Apoiado
tipos são UPDATE, INSERT, DELETE, DELETE_ALL,
REFRESH, CLEAN_INSERT, MSSQL_INSERT,
MSSQL_REFRESH, MSSQL_CLEAN_INSERT
url
String -
A URL JDBC para o banco de dados de acesso, por
exemplo: jdbc: db2: SAMPLE.
-
Dataset formato de arquivo tipo. Tipos válidos são:
plana, xml, csv e dtd Valor padrão é: xml
DataSet arquivo
Parâmetros opcionais
Nome
Tipo
Descrição
Desde
dataTypeFactoryName
String
-
Defina o datatype fábrica para adicionar suporte para
padrão de dados vendedor tipos de dados. Valor padr
org.dbunit.dataset.datatype.DefaultDataTypeFac
datatypeWarning
boolean -
escapePattern
String
-
senha
String
-
Database senha. Se não for dado, será analisada por
meio settings.xml 's servidor com $ () como settingsKe
chave
esquema
String
-
O esquema nome que pode ser encontrado em tabela
settingsKey
String
-
Id do servidor em settings.xml olhar para cima de usu
e senha. Predefinido para $ (url) se não for dada.
pular
boolean -
Passar a execução quando verdade, muito útil quando
utiliza em conjunto com maven.test.skip. Valor padrã
false
boolean 1.0betaskipOracleRecycleBinTables
2
Ativar ou desativar a mensagem de aviso exibida qua
DbUnit unsupported encontrar um tipo de dados. Valo
padrão é: false
escapePattern
skipOracleRecycleBinTables valor padrão é: false
supportBatchStatement
boolean -
Ativar ou desativar utilização de JDBC agrupadas
declaração DbUnit valor padrão é: false
operação
boolean -
Na verdade, colocar o entired operação em uma trans
valor padrão é: false
useQualifiedTableNames
boolean -
Ativar ou desativar vários esquemas de apoio prefixin
nomes tabela com o nome de esquema. Valor padrão
false
username
String
Base de dados de usuário. Se não for dado, será
analisada por meio settings.xml 's servidor com $ () co
settingsKey chave
-
Parâmetro Detalhes
dataTypeFactoryName:
Defina o datatype fábrica para adicionar suporte para não-padrão de dados vendedor
tipos de dados.
 Tipo:
java.lang.String
 Obrigatório: No
 Expressão:
${dataTypeFactoryN
ame}
 Predefinição:
org.dbunit.dataset
.datatype.DefaultD
ataTypeFactory
datatypeWarning:
Ativar ou desativar a mensagem de aviso exibida quando DbUnit unsupported
encontrar um tipo de dados.
 Type: boolean
 Obrigatório: No
 Expressão:
${datatypeWarning}
 Padrão: false
condutor:
O nome da classe do driver JDBC a ser utilizado.
 Tipo:
java.lang.String
 Obrigatório: Yes
 Expressão: ${driver}
escapePattern:
escapePattern
 Tipo:
java.lang.String
 Obrigatório: No
 Expressão:
${escapePattern}
Formato:
Dataset formato de arquivo tipo. Tipos válidos são: plana, xml, csv e dtd
 Tipo:
java.lang.String
 Obrigatório: Yes
 Expressão: ${format}
 Predefinição: xml
senha:
Database senha. Se não for dado, será analisada por meio settings.xml 's servidor
com $ () como settingsKey chave
 Tipo:
java.lang.String
 Obrigatório: No
 Expressão:
${password}
esquema:
O esquema nome que pode ser encontrado em tabelas.
 Tipo:
java.lang.String
 Obrigatório: No
 Expressão: ${schema}
settingsKey:
Id do servidor em settings.xml olhar para cima de usuário e senha. Predefinido para $
(url) se não for dada.
 Tipo:
java.lang.String
 Obrigatório: No
 Expressão:
${settingsKey}
saltar:
Passar a execução quando verdade, muito útil quando se utiliza em conjunto com
maven.test.skip.




skipOracleRecycleBinTables:
Type: boolean
Obrigatório: No
Expressão: ${skip}
Padrão: false
skipOracleRecycleBinTables




Type: boolean
Desde: 1.0-beta-2
Obrigatório: No
Expressão:
${escapePattern}
 Padrão: false
src:
DataSet arquivo
 Tipo: java.io.File
 Obrigatório: Yes
 Expressão: ${src}
supportBatchStatement:
Ativar ou desativar utilização de JDBC agrupadas declaração DbUnit
 Type: boolean
 Obrigatório: No
 Expressão:
${supportBatchStat
ement}
 Padrão: false
transação:
Na verdade, colocar o entired operação em uma transação
 Type: boolean
 Obrigatório: No
 Expressão:
${transaction}
 Padrão: false
Tipo:
Tipo de banco de dados operação a efectuar. Apoiado tipos são UPDATE, INSERT,
DELETE, DELETE_ALL, REFRESH, CLEAN_INSERT, MSSQL_INSERT, MSSQL_REFRESH,
MSSQL_CLEAN_INSERT
 Tipo:
java.lang.String
 Obrigatório: Yes
 Expressão: ${type}
url:
A URL JDBC para o banco de dados de acesso, por exemplo: jdbc: db2: SAMPLE.
 Tipo:
java.lang.String
 Obrigatório: Yes
useQualifiedTableNames:
Ativar ou desativar vários esquemas de apoio prefixing nomes tabela com o nome de
esquema.
 Type: boolean
 Obrigatório: No
 Expressão:
${useQualifiedTabl
eNames}
 Padrão: false
usuário:
Base de dados de usuário. Se não for dado, será analisada por meio settings.xml 's
servidor com $ () como settingsKey chave
 Tipo:
java.lang.String
 Obrigatório: No
 Expressão:
${username}
dbunit: exportação
Nome completo:
org.codehaus.mojo: dbunit-Maven-plugin :1.0-beta-2: exportação
Descrição:
Executa DbUnit operação de exportação
Atributos:
 Requer um Maven 2,0
projeto a ser
executado.
 Requer resolução
dependência de
artefatos na
extensão: compile
Obrigatório Parâmetros
Nome
Tipo
Descrição
Desde
String -
O nome da classe do driver JDBC a ser utilizado.
String -
A URL JDBC para o banco de dados de acesso, por
exemplo: jdbc: db2: SAMPLE.
condutor
url
Parâmetros opcionais
Nome
Tipo
Descrição
Desde
dataTypeFactoryName
String
-
Defina o datatype fábrica para adicionar suporte para
padrão de dados vendedor tipos de dados. Valor padr
org.dbunit.dataset.datatype.DefaultDataTypeFac
datatypeWarning
boolean -
Ativar ou desativar a mensagem de aviso exibida qua
DbUnit unsupported encontrar um tipo de dados. Valo
padrão é: false
dest
File
-
Localização do arquivo exportado DataSet valor padrã
${project.build.directory}/dbunit/export.xml
DOCTYPE
String
-
codificação
String
-
escapePattern
String
-
escapePattern
formato
String
-
DataSet valor padrão é o formato do arquivo: xml
ordenados
boolean -
senha
String
-
DOCTYPE
Codificação de dados exportado. Valor padrão é:
${project.build.sourceEncoding}
Defina como true para ordenar os dados exportados d
acordo com integridade limitações definidas no PO.
Database senha. Se não for dado, será analisada por
meio settings.xml 's servidor com $ () como settingsKe
chave
consultas
Query[] -
esquema
String
-
O esquema nome que pode ser encontrado em tabela
settingsKey
String
-
Id do servidor em settings.xml olhar para cima de usu
e senha. Predefinido para $ (url) se não for dada.
pular
boolean -
Passar a execução quando verdade, muito útil quando
utiliza em conjunto com maven.test.skip. Valor padrã
false
skipOracleRecycleBinTables
boolean 1.0beta2
Lista de DbUnit da Consulta. Ver DbUnit do javadoc p
detalhes
skipOracleRecycleBinTables valor padrão é: false
supportBatchStatement
boolean -
Ativar ou desativar utilização de JDBC agrupadas
declaração DbUnit valor padrão é: false
quadros
Table[] -
Lista de DbUnit da Tabela. Ver DbUnit do javadoc par
detalhes
useQualifiedTableNames
boolean -
Ativar ou desativar vários esquemas de apoio prefixin
nomes tabela com o nome de esquema. Valor padrão
false
username
String
Base de dados de usuário. Se não for dado, será
analisada por meio settings.xml 's servidor com $ () co
settingsKey chave
-
Parâmetro Detalhes
dataTypeFactoryName:
Defina o datatype fábrica para adicionar suporte para não-padrão de dados vendedor
tipos de dados.
 Tipo:
java.lang.String
 Obrigatório: No
 Expressão:
${dataTypeFactoryN
ame}
 Predefinição:
org.dbunit.dataset
.datatype.DefaultD
ataTypeFactory
datatypeWarning:
Ativar ou desativar a mensagem de aviso exibida quando DbUnit unsupported
encontrar um tipo de dados.
 Type: boolean
 Obrigatório: No
 Expressão:
${datatypeWarning}
 Padrão: false
dest:
Localização do arquivo exportado DataSet




Tipo: java.io.File
Obrigatório: No
Expressão: ${dest}
Predefinição:
${project.build.di
rectory}/dbunit/ex
port.xml
DOCTYPE:
DOCTYPE
 Tipo:
java.lang.String
 Obrigatório: No
 Expressão:
${doctype}
condutor:
O nome da classe do driver JDBC a ser utilizado.
 Tipo:
java.lang.String
 Obrigatório: Yes
 Expressão: ${driver}
codificação:
Codificação de dados exportado.
 Tipo:
java.lang.String
 Obrigatório: No
 Expressão:
${encoding}
 Predefinição:
${project.build.so
urceEncoding}
escapePattern:
escapePattern
 Tipo:
java.lang.String
 Obrigatório: No
 Expressão:
${escapePattern}
Formato:
DataSet formato de arquivo
 Tipo:
java.lang.String
 Obrigatório: No
 Expressão: ${format}
 Predefinição: xml
ordenados:
Defina como true para ordenar os dados exportados de acordo com integridade
limitações definidas no PO.
 Type: boolean
 Obrigatório: No
senha:
Database senha. Se não for dado, será analisada por meio settings.xml 's servidor
com $ () como settingsKey chave
 Tipo:
java.lang.String
 Obrigatório: No
 Expressão:
${password}
Consultas:
Lista de DbUnit da Consulta. Ver DbUnit do javadoc para detalhes
 Tipo:
org.dbunit.ant.Que
ry[]
 Obrigatório: No
esquema:
O esquema nome que pode ser encontrado em tabelas.
 Tipo:
java.lang.String
 Obrigatório: No
 Expressão: ${schema}
settingsKey:
Id do servidor em settings.xml olhar para cima de usuário e senha. Predefinido para $
(url) se não for dada.
 Tipo:
java.lang.String
 Obrigatório: No
 Expressão:
${settingsKey}
saltar:
Passar a execução quando verdade, muito útil quando se utiliza em conjunto com
maven.test.skip.
 Type: boolean
 Obrigatório: No
 Expressão: ${skip}
 Padrão: false
skipOracleRecycleBinTables:
skipOracleRecycleBinTables




Type: boolean
Desde: 1.0-beta-2
Obrigatório: No
Expressão:
${escapePattern}
 Padrão: false
supportBatchStatement:
Ativar ou desativar utilização de JDBC agrupadas declaração DbUnit
 Type: boolean
 Obrigatório: No
 Expressão:
${supportBatchStat
ement}
 Padrão: false
quadros:
Lista de DbUnit da Tabela. Ver DbUnit do javadoc para detalhes
 Tipo:
org.dbunit.ant.Tab
le[]
 Obrigatório: No
url:
A URL JDBC para o banco de dados de acesso, por exemplo: jdbc: db2: SAMPLE.
 Tipo:
java.lang.String
 Obrigatório: Yes
useQualifiedTableNames:
Ativar ou desativar vários esquemas de apoio prefixing nomes tabela com o nome de
esquema.
 Type: boolean
 Obrigatório: No
 Expressão:
${useQualifiedTabl
eNames}
 Padrão: false
usuário:
Base de dados de usuário. Se não for dado, será analisada por meio settings.xml 's
servidor com $ () como settingsKey chave
 Tipo:
java.lang.String
 Obrigatório: No
 Expressão:
${username}
dbunit: comparar
Nome completo:
org.codehaus.mojo: dbunit-Maven-plugin :1.0-beta-2: comparar
Descrição:
Executa DbUnit Compare operação
Atributos:
 Requer um Maven 2,0
projeto a ser
executado.
 Requer resolução
dependência de
artefatos na
extensão: compile
Obrigatório Parâmetros
Nome
Tipo
Descrição
Desde
String -
O nome da classe do driver JDBC a ser utilizado.
src
File
DataSet arquivo
url
String -
condutor
-
A URL JDBC para o banco de dados de acesso, por
exemplo: jdbc: db2: SAMPLE.
Parâmetros opcionais
Nome
Tipo
Descrição
Desde
dataTypeFactoryName
String
-
Defina o datatype fábrica para adicionar suporte para
padrão de dados vendedor tipos de dados. Valor padr
org.dbunit.dataset.datatype.DefaultDataTypeFac
datatypeWarning
boolean -
Ativar ou desativar a mensagem de aviso exibida qua
DbUnit unsupported encontrar um tipo de dados. Valo
padrão é: false
escapePattern
String
-
escapePattern
formato
String
-
DataSet valor padrão é o formato do arquivo: xml
senha
String
-
consultas
Query[] -
esquema
String
-
O esquema nome que pode ser encontrado em tabela
settingsKey
String
-
Id do servidor em settings.xml olhar para cima de usu
e senha. Predefinido para $ (url) se não for dada.
pular
boolean -
Passar a execução quando verdade, muito útil quando
utiliza em conjunto com maven.test.skip. Valor padrã
false
Database senha. Se não for dado, será analisada por
meio settings.xml 's servidor com $ () como settingsKe
chave
Lista de DbUnit da Consulta. Ver DbUnit da
org.dbunit.ant.Query javadoc para detalhes
boolean 1.0beta2
skipOracleRecycleBinTables valor padrão é: false
tipo
boolean -
tipo
supportBatchStatement
boolean -
Ativar ou desativar utilização de JDBC agrupadas
declaração DbUnit valor padrão é: false
quadros
Table[] -
Lista de DbUnit da Tabela. Ver DbUnit da
org.dbunit.ant.Table javadoc para detalhes
useQualifiedTableNames
boolean -
Ativar ou desativar vários esquemas de apoio prefixin
nomes tabela com o nome de esquema. Valor padrão
false
skipOracleRecycleBinTables
username
String
-
Base de dados de usuário. Se não for dado, será
analisada por meio settings.xml 's servidor com $ () co
settingsKey chave
Parâmetro Detalhes
dataTypeFactoryName:
Defina o datatype fábrica para adicionar suporte para não-padrão de dados vendedor
tipos de dados.
 Tipo:
java.lang.String
 Obrigatório: No
 Expressão:
${dataTypeFactoryN
ame}
 Predefinição:
org.dbunit.dataset
.datatype.DefaultD
ataTypeFactory
datatypeWarning:
Ativar ou desativar a mensagem de aviso exibida quando DbUnit unsupported
encontrar um tipo de dados.
 Type: boolean
 Obrigatório: No
 Expressão:
${datatypeWarning}
 Padrão: false
condutor:
O nome da classe do driver JDBC a ser utilizado.
 Tipo:
java.lang.String
 Obrigatório: Yes
 Expressão: ${driver}
escapePattern:
escapePattern
 Tipo:
java.lang.String
 Obrigatório: No
 Expressão:
${escapePattern}
Formato:
DataSet formato de arquivo
 Tipo:
java.lang.String
 Obrigatório: No
 Expressão: ${format}
 Predefinição: xml
senha:
Database senha. Se não for dado, será analisada por meio settings.xml 's servidor
com $ () como settingsKey chave
 Tipo:
java.lang.String
 Obrigatório: No
 Expressão:
${password}
Consultas:
Lista de DbUnit da Consulta. Ver DbUnit da org.dbunit.ant.Query javadoc para
detalhes
 Tipo:
org.dbunit.ant.Que
ry[]
 Obrigatório: No
esquema:
O esquema nome que pode ser encontrado em tabelas.
 Tipo:
java.lang.String
 Obrigatório: No
 Expressão: ${schema}
settingsKey:
Id do servidor em settings.xml olhar para cima de usuário e senha. Predefinido para $
(url) se não for dada.
 Tipo:
java.lang.String
 Obrigatório: No
 Expressão:
${settingsKey}
saltar:
Passar a execução quando verdade, muito útil quando se utiliza em conjunto com
maven.test.skip.




Type: boolean
Obrigatório: No
Expressão: ${skip}
Padrão: false
skipOracleRecycleBinTables:
skipOracleRecycleBinTables




Type: boolean
Desde: 1.0-beta-2
Obrigatório: No
Expressão:
${escapePattern}
 Padrão: false
tipo:
tipo
 Type: boolean
 Obrigatório: No
 Expressão: ${sort}
src:
DataSet arquivo
 Tipo: java.io.File
 Obrigatório: Yes
 Expressão: ${src}
supportBatchStatement:
Ativar ou desativar utilização de JDBC agrupadas declaração DbUnit
 Type: boolean
 Obrigatório: No
 Expressão:
${supportBatchStat
ement}
 Padrão: false
quadros:
Lista de DbUnit da Tabela. Ver DbUnit da org.dbunit.ant.Table javadoc para detalhes
 Tipo:
org.dbunit.ant.Tab
le[]
 Obrigatório: No
url:
A URL JDBC para o banco de dados de acesso, por exemplo: jdbc: db2: SAMPLE.
 Tipo:
java.lang.String
 Obrigatório: Yes
useQualifiedTableNames:
Ativar ou desativar vários esquemas de apoio prefixing nomes tabela com o nome de
esquema.
 Type: boolean
 Obrigatório: No
 Expressão:
${useQualifiedTabl
eNames}
 Padrão: false
usuário:
Base de dados de usuário. Se não for dado, será analisada por meio settings.xml 's
servidor com $ () como settingsKey chave
 Tipo:
java.lang.String
 Obrigatório: No
 Expressão:
${username}
Limpe-Inserir Exemplo
O exemplo a seguir limpa e preenche com um banco de dados externos
DbUnit
<project>
[...]
<build>
[...]
<plugins>
[...]
<plugin>
<groupId> org.codehaus.mojo </ groupId>
<artifactId> dbunit-Maven-plugin </ artifactId>
<version> 1,0-beta-2 </ version>
<! - jar que tem o driver JDBC ->
<dependencies>
<dependency>
<groupId> your.vendor.group </ groupId>
<artifactId> your.vendor.artifactId </ artifactId>
<version> xy </ version>
</ dependência>
</ dependencies>
<! - Configurações comuns ->
<configuration>
<Driver> com.vendor.jdbc.Driver </ driver>
<url> jdbc: vendedor: Mydatabase </ url>
<username> a.username </ username>
<password> a.password <password>
[....]
</ configuration>
</ execuções>
<execution>
<phase>-teste compilar </ fase>
<goals>
<goal> operação </ meta>
</ metas>
<! - Configurações específicas ->
<configuration>
<tipo> CLEAN_INSERT </ tipo>
<src> src / teste / dados / insert.xml </ src>
</ configuration>
</ execution>
[...]
</ execuções>
[...]
</ plugin>
[...]
</ plugins>
[...]
</ build>
[...]
</ projeto>
Limpe-Inserir Exemplo
O seguinte exemplo exporta todos os quadros de um arquivo de dados
após a fase de ensaio.
<project>
[...]
<build>
[...]
<plugins>
[...]
<plugin>
<groupId> org.codehaus.mojo </ groupId>
<artifactId> dbunit-Maven-plugin </ artifactId>
<version> 1,0-beta-2 </ version>
<! - jar que tem o driver JDBC ->
<dependencies>
<dependency>
<groupId> your.vendor.group </ groupId>
<artifactId> your.vendor.artifactId </ artifactId>
<version> xy </ version>
</ dependência>
</ dependencies>
<! - Configurações comuns ->
<configuration>
<Driver> com.vendor.jdbc.Driver </ driver>
<url> jdbc: vendedor: Mydatabase </ url>
<username> a.username </ username>
<password> a.password </ password>
[....]
</ configuration>
<executions>
<execution>
<phase> teste </ fase>
<goals>
<goal> exportação </ meta>
</ metas>
<! - Configurações específicas ->
<configuration>
<format> xml </ formato>
<dest> target / dbunit / export.xml </ dest>
</ configuration>
</ execution>
[...]
</ execuções>
[...]
</ plugin>
[...]
</ plugins>
[...]
</ build>
[...]
</ projeto>
Settings.xml
Você pode ocultar usuário / senha em seu settings.xml, garantir a
configurar "settingsKey" no seu pom da configuração, caso contrário, ele
irá usar o seu banco de dados da URL como lookup-chave
<settings>
....
<servers>
<servidor>
<iD> sensibleKey </ id>
<username> seu-nome de usuário </ username>
<password> seu-senha </ password>
</ servidor>
</ servidores>
</ settings>
© 2006-2009 Codehaus
Download