JUnit基础注解

JUnit基础注解

@BeforeClass注解

​ @BeforeClass常常用于在测试类开始之前,使用这个的方法常常被用于一些需要执行较大的代码执行量,例如是在测试类之前连接与打开数据库,从而让数据库可以执行数据库。
不仅仅如此,在运行JUnit测试类时,其常常为第一个执行的方法,他会在@Before注解之前运行,其与@Before的另一个不同是,@BeforeClass是全局只执行一次的,这代表着,@BeforeClass注释方法是被static修饰的。

@Before注释

​ @Before注解常常也是在测试类@Test注释之前运行的,所以这种方法常常被用于初始化@Test注解方法中所需的资源进行初始化,而且,与@BeforeClass注释方法不同,@Before是可以执行多次的,每次当有@Test注释方法运行时,@Before都会被调用一次,并且是测试类中的任意一个@Test注释方法被调用时,都会执行。

@Test注释

​ 在测试类中,@Test注释包含了真正的测试代码。并且测试方法必须使用public void进行修饰,。在@Test注释之中有两个可以选择的参数。
​ @Test(excepted=xx.class): xx.class 表示异常类,表示测试的方法抛出此异 常时,认为是正常的测试通过的
​ @Test(timeout = 毫秒数) :测试方法执行时间是否符合预期。

@After注释

​ 与@Before测试类类似,@After注释方法会在任意的@Test方法执行后进行运行,即使被@Test 或 @Before修饰的测试方法抛出异常。与@Before配套,所以常常被用于关闭在@Before中初始化的资源。

@AfterClass注释

​ 与@BeforeClass测试类类似,@AfterClass注解也是全局唯一的方法,因而也需要使用static来修饰,并且在全局代码中仅仅执行一次。它是在全局中最后一个被运行的注释方法。常常被使用于关闭在@BeforeClass测试类中打开的资源,如是关闭数据库。

@Ignore注释

​ 被这个注释修饰的测试方法会被测试运行器忽略。
注释代码测试运行
被测试类代码:

package test.Notes;

public 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.junit 常用注解 @Before 初始化方法,每次测试方法调用前都执行一次。 @After 释放资源:每次测试方法调用后都执行一次 @Test 测试方法:在这里可以测试期望异常和超时时间 @ignore 忽略的测试方法 @BeforeClass 针对所有测试,只执行一次,且必须为static void @AfterClass 针对所有测试,只执行一次,且必须为static void @RunWith 指定测试类使用的某个运行器参数SpringJUnit4ClassRunner.class @Parameters 指定参数类的参数数据集合 @Rule 允许灵活添加或重新定义测试类中的每个测试方法的行为 @FixMethodOrder 指定测试方法的执行顺序 @ContextConfiguration 参数locations="classpath:spring-mybatis.xml" 指向src下的该文件 执行顺序: @BeforeClass---@Before---@Test---@After---@Before ---@Test---@After---@AfterClass junit与main方法相比的优势:代码量少、结构清晰、灵活性更好 main:一个类中只能有一个main方0法 层次结构方面不够清晰 运行具体某一个方法时,要将其他的方法注释掉 2.mybatis的基本配置 1.dao层接口 2.mapper.xml:编辑需要执行sql语句 (1)mapper标签的namespace属性:指定该xml对应的dao层接口的路径 3.spring-mybatis.xml:spring集成mybatils的配置文件 (1)配置sqlSessionFactory指定要操作的数据库,以及mapper.xml的所在目录 (2)配置指定的dao层接口的目录 3.mybatis的注意事项 1.xml中的sql不得有分号 2.sql语句操作的表明和列名 3.xml中的小于号:$lt;大于号¥> 4.取变量时,如果dao层接口使用的是@param("别名")注解,则根据别名取值 5.mapper.xml中$和#取值的区别 4.mybatis的xml中如何设置返回值 resultType返回的数据类型 5.$和#区别 1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #{user_id},如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id". 2. $将传入的数据直接显示生成在sql中。如:order by ${user_id}, 如果传入 的值是id,则解析成的sql为order by id. 3. #方式能够很大程度防止sql注入。 4. $方式无法防止Sql注入。 5. $方式一般用于传入数据库对象,例如传入表名. 6. 一般能用#的就别用$ MyBatis排序时使用order by 动态参数时需要注意,用$而不是#

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值