Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DBUnit проблема при тесте. 
:(
    Опции темы
unkis
Дата 2.9.2009, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 802
Регистрация: 8.9.2004

Репутация: нет
Всего: 1



Ребята у меня следующая проблема, мне нужно протестировать две таблицы на идентичность.

вот так я это делаю.

Код

import java.io.FileOutputStream;

import org.dbunit.Assertion;
import org.dbunit.DBTestCase;
import org.dbunit.PropertiesBasedJdbcDatabaseTester;
import org.dbunit.database.DatabaseConfig;
import org.dbunit.database.QueryDataSet;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.ITable;
import org.dbunit.dataset.xml.XmlDataSet;

public class SampleDBUnitTest extends DBTestCase {

    private static final String TABLE1 = "SWH_Kalkulationsanfrage_kopf";
    private static final String TABLE2 = "SWH_PARAMETR";

    public SampleDBUnitTest(String name) {
    super(name);
    System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_DRIVER_CLASS, "oracle.jdbc.driver.OracleDriver");
    System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_CONNECTION_URL, "....");
    System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_USERNAME, "....");
    System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_PASSWORD, "....");
    System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_SCHEMA, "....");
    }

    protected IDataSet getDataSet() throws Exception {
    QueryDataSet dataSet = new QueryDataSet(getConnection());
    dataSet.addTable(TABLE1);
    dataSet.addTable(TABLE2);
    
    XmlDataSet.write(dataSet, new FileOutputStream("dataset.xml"));

    return dataSet;

    }

    public void testMe() throws Exception {
    getConnection().getConfig().setFeature(DatabaseConfig.FEATURE_QUALIFIED_TABLE_NAMES, true);
    

    IDataSet databaseDataSet = getConnection().createDataSet();
    ITable table1 = databaseDataSet.getTable(TABLE1);

    IDataSet databaseDataSet2 = getConnection().createDataSet();
    ITable table2 = databaseDataSet2.getTable(TABLE2);    
    
    Assertion.assertEquals(table1, table2);
    }

}


вот так выглядит мой dataset и те таблицы которые я хочу сравнить

Код

<?xml version='1.0' encoding='UTF-8'?>
<dataset>
  <table name="SWH_Kalkulationsanfrage_kopf">
    <column>TKK_MESSAGEID</column>
    <column>TKK_QUELLSYSTEM</column>
    <column>TKK_ZIELSYSTEM</column>
    <column>TKK_ANGEBOTSGUID</column>
    <column>TKK_ANGEBOTSGUID_VORG</column>
    <column>TKK_ANGEBOTSGUID_ERST</column>
    <column>TKK_ANGEBOTSBEZEICHNUNG</column>
    <column>TKK_GP_NUMMER</column>
    <column>TKK_GP_NAME_1</column>
    <column>TKK_GP_NAME_2</column>
    <column>TKK_GP_STRASSE</column>
    <column>TKK_GP_HAUSNUMMER</column>
    <column>TKK_GP_HAUSNUMMERX</column>
    <column>TKK_GP_PLZ</column>
    <column>TKK_GP_ORT</column>
    <column>TKK_GP_POSTFACH</column>
    <column>TKK_GP_PLZ_POSTFACH</column>
    <column>TKK_GP_PLZ_FIRMA</column>
    <column>TKK_GP_LAENDERSCHLUESSEL</column>
    <column>TKK_BENUTZERKUERZEL_AKTIVE</column>
    <column>TKK_BENUTZERKUERZEL_AD</column>
    <column>TKK_BENUTZERKUERZEL_ID</column>
    <column>TKK_AKQUISITIONSART</column>
    <column>TKK_KUNDENTYPE</column>
    <column>TKK_KUNDENSEGMENT</column>
    <column>TKK_ANGEBOTSKUNDENKATEGORIE</column>
    <column>TKK_BONITAET_VERTRIEB</column>
    <column>TKK_ZAHLUNGSZIEL</column>
    <column>TKK_GESAMTARBEIT</column>
  </table>

  <table name="SWH_PARAMETR">
    <column>PARA_KEY</column>
    <column>PARA_VALUE</column>
    <column>PARA_COMMENT</column>
  </table>
</dataset>


как видно абсолютно две разные таблицы, также они пустые, тоесть не содержат никаких данных.

Проблема в том что тест говорит "ок", а должен сказать error.

Почему так и что я делаю не правильно?

да вовремя запуска вылетает следующая exception

Код

009-09-02 14:39:03,942 DEBUG [org.dbunit.util.SQLHelper --> update():234] - Could not retrieve the 'isAutoIncrement' property because not yet running on Java 1.5 - defaulting to NO. Table=SWH_PARAMETR, Column=PARA_KEY
java.sql.SQLException: Ungültiger Spaltenindex
    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:199)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:263)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:271)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:445)
    at oracle.jdbc.driver.OracleResultSetImpl.getString(OracleResultSetImpl.java:957)
    at org.dbunit.util.SQLHelper.createColumn(SQLHelper.java:348)
    at org.dbunit.database.DatabaseTableMetaData.getColumns(DatabaseTableMetaData.java:331)
    at org.dbunit.database.DatabaseTableMetaData.toString(DatabaseTableMetaData.java:402)
    at org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:270)
    at org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:242)
    at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:200)
    at org.slf4j.helpers.MessageFormatter.format(MessageFormatter.java:142)
    at org.slf4j.impl.Log4jLoggerAdapter.debug(Log4jLoggerAdapter.java:246)
    at org.dbunit.dataset.OrderedTableNameMap.update(OrderedTableNameMap.java:234)
    at org.dbunit.database.DatabaseDataSet.getTableMetaData(DatabaseDataSet.java:294)
    at org.dbunit.database.DatabaseDataSet.getTable(DatabaseDataSet.java:307)
    at de.enercity.claudio2.crmtest.utils.SampleDBUnitTest.testMe(SampleDBUnitTest.java:51)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at junit.framework.TestCase.runTest(TestCase.java:164)
    at junit.framework.TestCase.runBare(TestCase.java:130)
    at junit.framework.TestResult$1.protect(TestResult.java:106)
    at junit.framework.TestResult.runProtected(TestResult.java:124)
    at junit.framework.TestResult.run(TestResult.java:109)
    at junit.framework.TestCase.run(TestCase.java:120)
    at junit.framework.TestSuite.runTest(TestSuite.java:230)
    at junit.framework.TestSuite.run(TestSuite.java:225)
    at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
2009-09-02 14:39:03,942 DEBUG [org.dbunit.dataset.datatype.DefaultDataTypeFactory --> update():234] - createDataType(sqlType=12 , sqlTypeName=VARCHAR2, tableName=SWH_PARAMETR, columnName=PARA_KEY) - start



--------------------
www.unkis.com
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0609 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.