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