如何为单元测试创​​建虚拟数据?

时间:2009-08-19 09:39:39

标签: unit-testing grails groovy

我需要在测试环境中插入虚拟数据,以便我可以在其上运行单元测试,但我不知道如何在BootStrap上声明它(仅用于测试,而不是用于所有环境)

你可以帮帮我吗?提前谢谢你

4 个答案:

答案 0 :(得分:3)

创建“虚拟数据”是Test Fixture的一部分。您可以使用Fixtures Plugin进行此操作。

答案 1 :(得分:3)

如上所述,您可以使用测试夹具。你也可以put code in bootstrap。如果您使用的是junit 4,则可以使用@BeforeClass。此外,还有可能感兴趣的build-test-data plugin

如果您真的是指单元测试(而不是集成测试),请查看the grails testing plugin(这些运行得很快)。

答案 2 :(得分:2)

BootStrap.groovy正是其他评论者所建议的。虽然我建议使用build-test-data plugin创建您的虚拟数据(免责声明:我写了:)。

可以轻松快速创建大量数据,并自动填充您未指定的必填字段。与每次修改域类时需要调整的一堆灯具相比,这使得您的引导数据更容易维护。

答案 3 :(得分:0)

如果要保证在测试完成时删除虚拟测试数据,实现此目的的最佳方法是在setUp()方法中加载测试数据。这可确保数据在与测试本身相同的事务中加载,因此在测试完成时将回滚(删除)。

我使用DbUnit从setUp()方法中的XML文件加载数据,因为我发现当两者没有混合在同一个.groovy文件中时,更容易阅读测试代码和测试数据。