什么?!还有专门负责测试数据准备的插件?至于么,这个任务应该太简单了!没错,从单个测试来讲,准备测试数据的确简单,但是如果你拥有大量测试用例的时候,事情就变得不那么简单了。前面忘了说一声,这里所指的测试数据专指Grails应用的领域类数据。
如果你给Grails应用写过单元测试,那么应该会对在测试前初始化领域类数据这一步骤不会感到陌生。刚开始,你可能会觉得,Grails实在是太好了,比起以前直接用Spring+Hibernate时要爽多了,尤其是单元测试,提供了这么多便利的方法和配置,这次一定要好好的坚持写单元测试!慢慢地,新鲜劲过了,剩下的就是对每次重复工作(尤其是领域类的测试数据准备)的厌烦,但是这时还没有到你抓狂的时候,而且冲着测试为你应用提供的安全防线,你还是能够接受。毕竟,日子比起以前来讲要好过多了。后来,由于业务需要,领域类又增加了一个新的约束。当你稍稍改动几行程序写完测试用例之后,信心满满地输入“grails test-app”之后,许多原本没有改动,而且之前通过的测试,此时却都失败了。靠,怎么回事!
这时,你猛然记起,刚才给领域类增加了一个约束,而领域类在保存时是需要满足约束的。前面的测试看来很可能是与测试数据的准备相关了……原因找到了,但失败的测试还得让它们通过,没办法,挽起袖子,花上半个钟头把前面那100来个测试用例中与这个约束所属领域类相关的测试的数据准备部分都看看吧……
或许你会讲,不是还有setup吗,初始化工作就放在那里就行了。没错,这确实可以起到一部分的作用,但未必每个测试都想用同样一套测试数据,而且每当有与这种数据准备相冲突的修改(如修改约束)发生时,这种修改仍然避免不了。尤其是在测试重点并不在领域类本身的时候,这种修改更让人难以接受!
以上情况还没有谈到拥有复杂关系的领域类的数据初始化……不说别的,即使没有其他改变,但就数据准备来讲,这个工作就让人烦心。
原文请看:
使用build-test-data插件准备你的测试数据
分享到:
相关推荐
MySQL 测试数据生成器提供用于设置 mysql-sandbox、定义数据库和表以及加载测试数据的脚本用法下面概述了如何使用这个项目。 克隆回购: cd /tmp && git clone ...
本文主要讲述了使用Grails框架以及build-test-data插件来创建和维护测试数据的相关知识。Grails是基于Groovy语言的高级Web框架,提供了快速开发应用程序的能力,尤其适用于企业级应用。build-test-data插件是Grails...
dbt,全称“Data Build Tool”,是一个用于数据转换和建模的开源工具,特别适合在现代云数据仓库(如Snowflake,BigQuery,Redshift等)上使用。它的核心功能是将SQL转化为可重复的、声明性的数据管道,使数据工程师...
数据重载 世界上最有趣的项目 > 动词测试步骤git clone https://github.com/doowb/assemble-test-data-watching.gitcd assemble-test-data-watchingnpm cache clear && npm iassemble 查看build生成的.html文件之一...
在这个项目中,我们关注的是一个名为“test-data-factory”的Java实现,它的目标是提供一个高效的、可定制化的测试数据生成框架。 在Java世界中,测试数据通常通过硬编码或使用像Mockito这样的库来创建。然而,随着...
对Google跟踪代码管理器的数据层进行自动功能测试。 要求 要安装和运行gtm-datalayer-test,您需要以下客户端/库: 安装 使用git clone https://github.com/sahava/gtm-datalayer-test.git 运行cd gtm-datalayer-...
8. **数据流测试(Data Flow Testing)**:这是一种白盒测试设计技术,设计的测试用例旨在执行变量的定义-使用对,以确保数据处理路径的充分覆盖。 9. **数据完整性测试(Data Integrity Testing)**:也称为数据库...
3. **数据访问增强**:Spring Data项目持续扩展对各种数据存储的支持,如JPA、NoSQL数据库等。Spring 4.1 引入了对新的JPA规范和一些数据库驱动的兼容性改进。 4. **Web MVC增强**:Spring的Web MVC模块在4.1版本中...
--test_data:自定义测试图片详细地址,默认为`<ROOT_DIR>/data/test/001_accordion_image_0001.jpg` --index_file:自定义索引文件存储路径,默认为`<ROOT_DIR>/index/train.h5` --db_name:自定义ES或者Milvus索引...
通过`@Autowired`注入需要测试的服务,然后使用`@BeforeEach`和`@AfterEach`注解来初始化和清理测试数据。例如: ```java @SpringBootTest public class UserServiceTest { @Autowired private UserService ...
标题 "caffe测试数据 mnist data" 涉及到的是深度学习框架Caffe的使用,以及在该框架下对MNIST数据集进行测试的过程。MNIST数据集是机器学习领域一个经典的图像识别数据集,主要用于手写数字的识别,它包含了60,000...
之后,就可以在测试类中导入并使用相关的注解,如`@Test`和`@DataProvider`。 3. **使用@DataProvider注解** `@DataProvider`注解用于定义数据提供者方法,该方法返回二维数组或`Map, Object[]>`,每行数据对应一...
- 这个文件通常包含SQL语句,用于在项目启动前初始化数据库,例如创建表结构、插入测试数据等。 - 可以在`application.yml`或`application.properties`中配置数据源初始化,让Spring Boot在启动时执行这些SQL脚本。 ...
在本文中,我们将深入探讨如何使用Gradle、Kotlin、Pact和JUnit 5来构建一个全面的测试项目。这是一套强大的工具组合,能够帮助开发者确保服务间的交互正确无误,同时也提供了一种优雅的方式来编写单元和集成测试。 ...
DAQ(Data Acquisition)测试工具是IT领域中用于数据采集、处理和分析的软件工具,尤其在科学研究、工程实验以及工业自动化等领域中广泛应用。WIPAC(Wisconsin IceCube Particle Astrophysics Center)是一个专注于...
9. **开发流程**:使用这个项目的开发者需要熟悉Ember.js的命令行工具,如`ember serve`启动本地开发服务器,`ember build`打包应用,以及`ember test`运行测试等。 10. **集成部署**:在实际应用中,这个适配器会...
开放数据画廊 这是的源代码,它展示了组织对其网站所做的工作。 开发说明 先决条件 您需要在计算机上正确安装以下物品。 (带有NPM) 安装 git clone 此存储库 cd open-data-gallery npm install bower install ...
cli的后台模板框架,以期构建一个可以快速使用的简单后台模板命令说明npm run mock启动测试接口服务器npm run dev启动开发服务器npm run build构建生成包npm run mock-build&npm run build-test模拟测试数据,...
在测试时,你可以创建一个`ldapTest`文件夹,其中包含模拟的测试数据或配置文件,以确保你的LDAP集成工作正常。例如,你可以创建一个`test.ldif`文件,用来导入测试用户数据,然后在测试类中使用`LdapTemplate`进行...
4. **测试数据驱动(Data Driven Testing)**:这种测试方式允许用不同的输入数据运行同一个测试,提高测试覆盖率。 5. **模拟对象(Mocks)与依赖注入(Dependency Injection)**:Kelpie可能提供了模拟对象的功能...