本系列博客有一个前提:只使用Junit编写测试,不使用类似Cucumber这类BDD框架。

用Cucumber的时候,测试数据可以直接写在feature文件里,但是仅仅使用Junit(不要问我为什么只使用Junit >_<)编写测试的时候,就要考虑到测试数据存放和读取的问题。通常的做法就是存储在txt,excel,csv等文件里,然后再自己写个读取文件的类或函数,在需要使用数据的时候去调用就好了。这是我个人知道的常用方法,如果有更好的方法,请不吝赐教。

最近突然想到了是不是可以利用Spring注解来读取测试数据,直接把数据写在Property文件里,然后再利用注解读出来,这样就不用自己写一堆读取文件的代码,也不用费力维护数据文件的格式规范。貌似很方便的样子,所以,就试了一下。

首先需要创建一个Spring工程,我自己创建了一个SpringBoot的工程,目录结构如下:

其中main/java下面PropertyTestDataDemo和test/java/com.testdata下的DemoApplicationTests是自动生成的。

打开DemoApplicationTests会发现里面有一个自动生成的contextloads的测试。这个测试的作用是检测是否能读到Property文件,所以建议保留(以便排除因Property文件本身造成的测试失败)。

我是Maven构建的工程,最后在pom文件里加上需要的Junit的依赖即可。

如需转载,请注明出处,这是对他人劳动成果的尊重~

使用Spring的Property文件存储测试数据 - 初始化的更多相关文章

  1. 使用Spring的Property文件存储测试数据 - 编写测试和调用测试数据

    准备好测试数据后,我们可以开始编写测试了,在测试用例中调用我们property文件中的测试数据. 我自己写了一个TestCase作为所有测试类基类,基类中定义了两个变量来代表之前建好的两个测试数据文件 ...

  2. 使用Spring的Property文件存储测试数据 - 添加测试数据

    测试数据直接写在Property文件中,如下图: application.properties是系统自动生成,我添加了两个Property文件:HomeTestData.properties和moto ...

  3. Spring property文件配置方法以及如何与工程分离

    1,Spring使用property文件作为配置源    工程中难免出现一些需要每次部署都需要配置的参数,如数据源连接参数等,测试环境跟实际运行环境是不一样的.    使用spring框架的话,这些参 ...

  4. spring 配置文件 引入外部的property文件的两种方法

    spring  的配置文件 引入外部的property文件的两种方法 <!-- 引入jdbc配置文件    方法一 --> <bean id="propertyConfig ...

  5. 「一站式」兼容所有云厂商文件存储Spring Boot 实现

    背景 在互联网发展的今天,近乎所有的云厂商都提供对象存储服务.一种海量.安全.低成本.高可靠的云存储服务,适合存放任意类型的文件.容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本. 当我们 ...

  6. 如何在java web工程下建立存储property文件的文件夹,让Java程序直接读取

    如何在java web工程下建立存储property文件的文件夹,让Java程序直接读取: 步骤如下:

  7. Spring Boot属性文件配置文档(全部)

    This sample file is meant as a guide only. Do not copy/paste the entire content into your applicatio ...

  8. Spring MVC的文件上传

    1.文件上传 文件上传是项目开发中常用的功能.为了能上传文件,必须将表单的method设置为POST,并将enctype设置为multipart/form-data.只有在这种情况下,浏览器才会把用户 ...

  9. Spring MVC的handlermapping之BeanNameUrlHandlerMapping初始化

    先介绍一下: BeanNameUrlHandlerMapping是基于配置文件的方式; 所有处理器需要在XML文件中,以Bean的形式配置. 缺点:配置繁琐; 如果多个URL对应同一个处理器,那么需要 ...

随机推荐

  1. jQuery图片无缝滚动JS代码ul/li结构

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. 遇到 Error creating the Web Proxy specified in the 'system.net/defaultProxy' configuration section的解决办法

    用记事本编辑*.EXE.config,在“<system.net>”节点加入<defaultProxy> <proxy usesystemdefault="Fa ...

  3. Value Dispose() cannot be called while doing CreateHandle().

    在backgroundWorker run之前show出了一个窗体_frm. _frmpw = new FrmPleaseWait(); _frmpw.SetMsg("正在请求") ...

  4. 55. Jump Game

    Given an array of non-negative integers, you are initially positioned at the first index of the arra ...

  5. JavaScript中回调函数的使用

    在JavaScript中,回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A.我们就说函数A叫做回调函数.如果没有名称(函数表达式),就叫做匿名回调函数. ...

  6. RedisCacheTool参考其中的文件读写功能

    package com.jr.market.tool; import java.io.BufferedReader; import java.io.File; import java.io.FileI ...

  7. PLSQL_Oracle临时表Temporary Table基本概念和用法(概念)

    2014-06-08 Created By BaoXinjian

  8. image和字节流之间的相互转换

    //将图片转化为长二进制 public Byte[] SetImgToByte(string imgPath) { FileStream file = new FileStream(imgPath, ...

  9. iframe替代方案

    自己写一个pagelet框架.封装成JSP的Taglib. <tms:view header="common-header" footer="common-foot ...

  10. Ecshop(二次开发) - 后台添加左侧菜单导航

    1.链接地址:修改 admin\includes\inc_menu.php 文件. $modules['17_syn_data']['view_syn']        =    'synchroni ...