как использовать DbUnit с TestNG - PullRequest
4 голосов
/ 11 июля 2011

Мне нужно интегрировать DbUnit с TestNG.

1) Можно ли использовать DbUnit с TestNG, так как DbUnit в основном является расширением JUnit.2) Если да, то как?

Ответы [ 3 ]

2 голосов
/ 13 июля 2011

Наконец я нашел способ использовать DbUnit с TestNG!

Использование экземпляра IDatabaseTester работает,

, но другой обходной путь будет таким: Расширить AbstractDatabaseTester и реализовать getConnection и переопределить необходимые функции,Но одна важная вещь - вызывать onSetup () и onTeardown () до и после тестирования.

Надеюсь, это поможет ...

1 голос
/ 11 июля 2011

Не уверен, что именно вы пытаетесь сделать, но, возможно, Unitils было бы полезно.Он похож на расширение dbunit, но не ограничивается этим и поддерживает интеграцию с TestNg (путем расширения класса UnitilsTestNG для вашего тестового примера).

0 голосов
/ 05 июля 2013

Вот простой класс, который выполняет требуемую функцию.

public class SampleDBUnitTest {

    IDatabaseTester databaseTester;
    IDataSet dataSet;

    @BeforeMethod
    public void setUp() throws Exception {
        // These could come as parematers from TestNG 
        final String driverClass = "org.postgresql.Driver";
        final String databaseUrl = "jdbc:postgresql://localhost:5432/database";
        final String username = "username";
        final String password = "password";

        dataSet = new FlatXmlDataSet(Thread.currentThread().getContextClassLoader().getResourceAsStream("dataset.xml"));
        databaseTester = new JdbcDatabaseTester(driverClass, databaseUrl, username, password);
        databaseTester.setSetUpOperation(DatabaseOperation.CLEAN_INSERT);
        databaseTester.setDataSet(dataSet);
        databaseTester.setTearDownOperation(DatabaseOperation.NONE);
        databaseTester.setDataSet(dataSet);

        databaseTester.onSetup();
    }

    @AfterMethod
    public void tearDown() throws Exception {
        databaseTester.onTearDown();
    }

    @Test
    public void t() throws Exception {
        // Testing, testing
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...