首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grails 2.0集成测试污染?

Grails 2.0集成测试污染?
EN

Stack Overflow用户
提问于 2012-01-24 10:22:45
回答 1查看 1.8K关注 0票数 4

所以我有一个小的集成测试,总共包含5个测试。运行该测试只会导致所有通过的测试。然而,运行我的整个测试套件会导致5中的4次测试失败。

我最近刚从1.3.7升级到grails-2.0,并从hsqldb切换到h2。

为了解决这个(测试污染)问题,我应该往哪个方向看呢?

域模型

集成测试:

代码语言:javascript
复制
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())
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-24 18:58:14

我的解决方案是将所有单元测试升级为Grails2.0进行测试的方法。当这件事完成后,所有的测试都通过了。因此,单元测试似乎以某种方式污染了集成测试。但只适用于特定的硬件配置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8985152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档