eclipse 直接右键工程new 看不到JUnit的情况以及JUnit的作用、使用举例和JUnit的注意事项
1,eclipse 直接右键工程new 看不到JUnit的情况
解决:右键工程-》new-》Other-》Java-》JUnit
小细节
测试案例(包含运行结果):
2,JUnit的作用:在单元测试活动中,测试方法是否可以正常执行
①可能:项目组都会有要求必须掌握的:因为在团队开发中,提交未经单元测试的代码,可能会引起灾难.
②交报告):请问下,JUnit单元测试有什么用??
你自己测试只是意思一下而已,不够正规用JUnit测试会有测试案例和测试结果,方便给领导汇报工作作为依据而且听说有的公司先写测试案例,后实现功能,这种情况下就必须要用了。
③:在功能拓展,需求更改频繁,方法复用高的情况下也可以适用,成千上万个接口中使用JUnit。
其中:成千上万个方法使用JUnit 测试,利用的是 JUnit内部的断言机制,(调用 JUnit 内部的assertEqual 方法)检测我们预期的结果和实际的结果是否一致,从而得知方法是否正确。
assertEquals是一个断言的规则,里面有两个参数,第一个参数表明我们预期的值,第二个参数表示实际运行的值。(assertEquals:预期与实际是否匹配)
使用JUnit时,接口预期与实际不匹配时,执行时结果是×,匹配时结果是√
3,使用JUnit测试方法时注意事项:
(1) 测试的方法上必须要有注解@Test
(2) 测试方法不能带参数,且只能使用public void 修饰
(3) @Test的两个参数用不上expected 和 timeout 的原因:版本原因:这个两个参数是JUnit4的哈
4,代码举例:
❀ AlgorithmDesign 类:
package BiscuitsDemo; public class AlgorithmDesign { public double add(double a,double b) { return a + b; } public double reduce(double a,double b) { return a - b; } public double multiplication(double a, double b) { return a * b; } public double division(double a, double b) { return a / b; } }
❀ TestUnit 类
package BiscuitsDemo; import static org.junit.jupiter.api.Assertions.*; import org.junit.Rule; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.rules.ExpectedException; class TestUnit { void setUp() throws Exception { System.out.println("setUp"); } void tearDown() throws Exception { System.out.println("after"); } @Test public void testAdd() { assertEquals(10, new AlgorithmDesign().add(5, 5)); } @Test public void testReduce() { assertEquals(3, new AlgorithmDesign().reduce(7, 4)); } @Test public void testMultiply() { assertEquals(100, new AlgorithmDesign().multiplication(10, 10)); } @Test public void testDevision() { assertEquals(0, new AlgorithmDesign().division(8, 0)); } }
转自:
https://zhuanlan.zhihu.com/p/86624354 《Java程序员必须要知道的单元测试框架Junit详解》