Grails 2.0 интеграционный тест на загрязнение? - PullRequest
4 голосов
/ 24 января 2012

Итак, у меня есть небольшой интеграционный тест, в котором всего 5 тестов.Выполнение этого теста дает исключительно результаты всех пройденных тестов.Однако выполнение всего моего набора тестов приводит к 4 неудачным тестам из 5.

. Я только что недавно обновился до grails-2.0 с 1.3.7, и я переключился с hsqldb на h2.

ИмеетКто-нибудь какие-либо указатели, в каком направлении я должен искать, чтобы решить эту проблему (тест-загрязнение)?

Модель домена

domain-model

Интеграционный тест:

class SeriesIntegrationTests extends GrailsUnitTestCase {
    Series series
    Episode episode

    protected void setUp() {
        super.setUp()
        series = new Series(ttdbId: 2348);
        episode = new Episode(ttdbId: 2983, season: 0, episodeNumber: 0, series: series);
    }

    protected void tearDown() {
        super.tearDown()
    }

    void testCreateSeries() {
        series.save()
        assertFalse("should not have validation errors : $series.errors", series.hasErrors())
        assertEquals("should be one series stored in db", 1, Series.count())
    }

    void testCreateEpisode() {
        series.save()
        episode.save()
        assertFalse("should not have validation errors : $episode.errors", episode.hasErrors())
        assertEquals("should be one episode stored in db", 1, Episode.count())
    }

    void testCreateSeriesAndAddEpisode() {
        series.addToEpisodes(episode)
        series.save(flush: true)
        series.refresh()
        assertEquals("series should contain one episode", 1, series.episodes.size())
    }

    void testDeleteSeriesAndCascadeToEpisode() {
        series.addToEpisodes(episode)
        series.save(flush: true)
        series.delete(flush: true)
        assertEquals(0, Episode.count())
        assertEquals(0, Series.count())

    }

    void testDeleteSeriesAndCascadeToBackdropImage() {
        series.backdrop = new Image();
        series.backdrop.binaryData = new byte[0]
        series.save(flush: true)

        assertFalse(series.hasErrors())
        assertEquals(1, Image.count())

        series.delete(flush: true)
        assertEquals(0, Image.count())
    }
}

Ответы [ 2 ]

1 голос
/ 24 января 2012

У меня была похожая проблема при переходе с 1.3.7 на 2.0. Интеграционные тесты были в порядке при запуске с

grails test-app --integration

, но были неудачны при запуске с

grails test-app

Я все исправил, преобразовав юнит-тесты в тест Grails 2.0 (используя аннотации).

0 голосов
/ 24 января 2012

Мое решение - обновить все модульные тесты до уровня Grails 2.0.Когда это было сделано, каждый тест прошел.Так что, похоже, юнит-тесты как-то загрязняют интеграционные тесты.Но только на определенных аппаратных конфигурациях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...