介绍

环境配置

使用idea IDE 进行单元测试,首先需要安装JUnit 插件。
1.安装JUnit插件步骤
File–>settings–>Plguins–>Browse repositories–>输入JUnit–>选择JUnit Generator V2.0安装
2.设置
File–>settings–>Plguins–>勾选JunitGeneraaor V2.0 和 Junit -->重启
File–>settings–>other settings

Java求解一元二次方程

package WhiteBoxTesting;
/*** function:solve quadratic equation of one variable* coder:JingqiWu* date:2020/2/28*/import java.util.Scanner;public class QuadraticEquation {// 求解public static String solveEquation(double a,double b,double c) {//判别式double delta = b * b - 4 * a * c;// 根double x1;double x2;String solution = null;if(a == 0) {if(b == 0) {solution = "This is not a Quadratic Equation.";} else {solution = "This is not a Quadratic Equation.Solution is x=" + -c/b;}} else{if(delta > 0){x1 = (-b + Math.sqrt(delta)) / (2 * a);x2 = (-b - Math.sqrt(delta)) / (2 * a);solution= "Two real roots: x1=" + x1 + ",x2=" + x2;}else if (delta == 0){x1 = -b/(2*a);solution = "Only one root:x1=x2=" + x1;}else{solution = "No real root";}}return solution;}public static void main(String[] args) {// print titleSystem.out.println("Solve quadratic equation:ax^2+bx+c=0");Scanner in = new Scanner(System.in);System.out.print("Enter a:");//promptdouble a = in.nextDouble();System.out.print("Enter b:");//promptdouble b = in.nextDouble();System.out.print("Enter c:");//promptdouble c = in.nextDouble();// print equationSystem.out.printf("Equation:%fx^2+%fx+%f=0\n",a,b,c);// print solutionSystem.out.println(solveEquation(a,b,c));}
}

测试用例

  1. a=0, b=0, c=0 This is not a Quadratic Equation.
  2. a=0, b=3, c=0 This is not a Quadratic Equation.Solution is x=-0.0
  3. a=0, b=4, c=-8.4 This is not a Quadratic Equation.Solution is x=2.1
  4. a=-2, b=4, c=-2 Only one root:x1=x2=1.0
  5. a=1, b=-5, c=6 Two real roots: x1=3.0,x2=2.0
  6. a=4.7, b=2.5, c=1.3 No real root

完成单元测试

建目录test>>右键>>Mark directory as >> test resourse root
右键>>create a test>>设置要测试的方法


import WhiteBoxTesting.QuadraticEquation;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;import java.util.Arrays;
import java.util.Collection;
/*** QuadraticEquation.solveEquation Tester.** @author Jingqi Wu* @since 2020.3.4* @version 1.0*//*@BeforeClass 全局只会执行一次,而且是第一个运行@Before 在测试方法运行之前运行@Test 测试方法@After 在测试方法运行之后允许@AfterClass 全局只会执行一次,而且是最后一个运行@Ignore 忽略此方法
*/@RunWith(Parameterized.class)
public class QuadraticEquationTest {private double a;private double b;private double c;private String expected;public QuadraticEquationTest(double a, double b, double c, String expected) {this.a = a;this.b = b;this.c = c;this.expected = expected;}@Parameterized.Parameterspublic static Collection parameter() {return Arrays.asList(new Object[][]{{0,  0, 0,"This is not a Quadratic Equation."},{0,  3, 0,"This is not a Quadratic Equation.Solution is x=-0.0"},{0,  4, -8.4,"This is not a Quadratic Equation.Solution is x=2.1"},{-2, 4, -2, "Only one root:x1=x2=1.0"},{1, -5, 6, "Two real roots: x1=3.0,x2=2.0"},{4.7, 2.5, 1.3, "No real root"}});}/*** Method: solveEquation(double a, double b, double c)*/@Testpublic void testSolveEquation() throws Exception {System.out.println("a=" + a + ", b=" + b + ", c=" + c + ", expected:" + expected);String result;result = QuadraticEquation.solveEquation(a, b, c);Assert.assertEquals(expected, result);}}

TestRunner.java


package com.java.test;import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;public class TestRunner {public static void main(String[] args) {System.out.println("SolveEquationTest");Result result1 = JUnitCore.runClasses(QuadraticEquationTest.class);for (Failure failure : result1.getFailures()) {System.out.println(failure.toString());}System.out.println(result1.wasSuccessful());}}# 运行TestRunner
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200304191017606.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NzUzNzc4,size_16,color_FFFFFF,t_70)
# 参考资料
链接:https://blog.csdn.net/baidu_34045013/article/details/81053444

Java求解一元二次方程+单元测试(IDEA+Junit)相关推荐

  1. java 输入 方程,用java 编写一程序,求解一元二次方程:aX2+bX+c=0.参数a、b及c从命令行做参数输入 java...

    题目: 用java 编写一程序,求解一元二次方程:aX2+bX+c=0.参数a.b及c从命令行做参数输入 java 答案参考: 以下程序在jdk5.0测试通过 import java.util.Sca ...

  2. JAVA学习-JAVA实现一元二次方程求解

    JAVA实现一元二次方程求解 求3X2+4X-1=0的根 代码: public class SolveEquation {//定义公共类public static void main(String[] ...

  3. Java——求解一元n次方程(V1.0)

    Java--求解一元n次方程(V1.0) 主要思路 通过 接口(interface) 进行求解方法声明,通过 implements 声明自己使用的接口 通过字符串 equals() 方法以及 whil ...

  4. python解一元二次方程步骤-Python实现求解一元二次方程的方法示例

    Python实现求解一元二次方程的方法示例 本文实例讲述了Python实现求解一元二次方程的方法.分享给大家供大家参考,具体如下: 1. 引入math包 2. 定义返回的对象 3. 判断b*b-4ac ...

  5. 一元二次方程python脚本_Python实现求解一元二次方程的方法示例

    本文实例讲述了Python实现求解一元二次方程的方法.分享给大家供大家参考,具体如下: 1. 引入math包 2. 定义返回的对象 3. 判断b*b-4ac的大小 具体计算代码如下: # -*- co ...

  6. Python案例:四种方式编程求解一元二次方程

    文章目录 一.一元二方程求解公式 二.编程求解一元二次方程 1.直接求解一元二次方程 2.编写一元二次方程求解函数 3.编写一元二次方程类求解 (1)求实数解 (2)求复数解 4.利用sympy的so ...

  7. 利用C++求解一元二次方程

    题目:求解一元二次方程:ax²+bx+c=0 的解,其中a=1,b=-3,c=2. 分析:大家都知道一元二次方程的解有三种情况,即考虑Δ=(b²-4ac)的算术平方根,当Δ>0时,方程有两个不相 ...

  8. 【中学】求解一元二次方程

    [中学]求解一元二次方程 初中的小明已经开始学习求解一元二次方程了,下面让我们来教计算机如何求解.输入 a,b,c ,求一元二次方程 ax²+bx+c=0 的根. 包括复数根 输入: 假设 a,b,c ...

  9. C语言(求解一元二次方程的根)

    以下程序均在Visual C++6.0中运行成功 例:求方程2x^2-3x-6=0的根 #include <stdio.h> #include <math.h> void ma ...

最新文章

  1. 利用OpenCV 基于Inception模型图像分类
  2. c++入门之 再话类
  3. 2019 CCPC wannfly winter camp Day 5
  4. 【腾讯Bugly干货分享】Android Patch 方案与持续交付
  5. 鸿蒙和安卓,到底有什么区别?
  6. moxy json介绍_MOXy的对象图– XML和JSON的输入/输出局部模型
  7. 佳能7200cdn打印自检_家用打印机如何挑选? 家用打印机性价比较高的有哪些?...
  8. 4G手机网络通信是如何被黑客远程劫持的?
  9. datatable插件实现分页功能
  10. Nginx源码目录介绍
  11. android sd卡 f2fs,F2FS保你18个月不卡?手机文件系统相关科普
  12. 读书百客:《陋室铭》赏析
  13. 第十一届蓝桥杯省赛B组(C/C++组)(第一场)
  14. Google体系地图纠偏算法
  15. 计算机与通信网络潘书文答案,计算机与通信网络潘书文答案
  16. 开源OkHttpUtils升级版OkGo,完美支持RxJava
  17. UNCTF2022-公开赛|MISC(下)
  18. win2003+IIS服务器下运行ASP程序非常慢的解决办法
  19. H5高仿淘宝(html模板)
  20. 链脉AI智能电子名片,让交际更有效

热门文章

  1. JavaScript入门经典(第5版)pdf
  2. 更改计算机启动读盘,怎么设置电脑开机读取U盘启动盘?教你一招设置开机读取U盘启动盘...
  3. android手机信号测试,买手机别只看性能!教你测试手机信号好坏
  4. 如何使用Gulp完成项目的自动化构建
  5. functools 可调用对象上的高阶函数和操作
  6. B2C电子商务基础系统架构解析
  7. java利用poi生成pptx格式的ppt
  8. 2022年末29个省市区14企业征信机构分析及申请建议
  9. 学习记录:关于Uniapp与Java实现支付宝沙箱APP内支付
  10. 《荀子·劝学篇》原文 翻译