在插件安装对话框的搜索中输入junit
,单击JunitGenerator V2.0
,单击绿色的Install
按钮安装。由于我没有次插件,所以实在网上download到本地,再install plugin from disk
git
green bar
,测试经过。以 TDD的方式研究学习StringBuffer,用junit进行单元测试设计模式
运行结果如图ide
class Integer { int value; public Integer(){ value=100; } public void DisplayValue(){ System.out.println(value); } } class Document { Integer pi; public Document(){ pi = new Integer(); } public void DisplayData(){ pi.DisplayValue(); } } public class MyDoc{ static Document d; public static void main(String [] args) { d = new Document(); d.DisplayData(); } }
让系统支持Boolean类,Document类要修改构造方法,这还违反了OCP原则。封装、继承、多态解决不了问题,在则须要设计模式。函数
abstract class Data { abstract public void DisplayValue(); } class Integer extends Data { int value; Integer() { value=100; } public void DisplayValue(){ System.out.println (value); } } class Boolean extends Data { boolean value; Boolean() { value = true; } public void DisplayValue(){ System.out.println (value); } } // Pattern Classes abstract class Factory { abstract public Data CreateDataObject(); } class IntFactory extends Factory { public Data CreateDataObject(){ return new Integer(); } } class BooleanFactory extends Factory { public Data CreateDataObject(){ return new Boolean(); } } //Client classes class Document { Data pd; Document(Factory pf){ pd = pf.CreateDataObject(); } public void DisplayData(){ pd.DisplayValue(); } } //Test class public class MyDoc { static Document d; public static void main(String[] args) { d = new Document(new BooleanFactory()); d.DisplayData(); } }
如此,再class Boolean extends Data
、class BooleanFactory extends Factory
便可使系统支持Boolean单元测试
// 定义属性并生成getter,setter double RealPart; double ImagePart; // 定义构造函数 public Complex() public Complex(double R,double I) //Override Object public boolean equals(Object obj) public String toString() // 定义公有方法:加减乘除 Complex ComplexAdd(Complex a) Complex ComplexSub(Complex a) Complex ComplexMulti(Complex a) Complex ComplexDiv(Complex a)
public class Complex{ private double r; private double i; public Complex(double r, double i) { this.r = r; this.i = i; } public static double getRealPart(double r) { return r; } public static double getImagePart(double i) { return i; } public Complex ComplexAdd(Complex c) { return new Complex(r + c.r, i + c.i); } public Complex ComplexSub(Complex c) { return new Complex(r - c.r, i - c.i); } public Complex ComplexMulti(Complex c) { return new Complex(r * c.r - i * c.i, r * c.i + i * c.r); } public Complex ComplexDiv(Complex c) { return new Complex((r * c.i + i * c.r)/(c.i * c.i + c.r * c.r), (i * c.i + r * c.r)/(c.i * c.i + c.r * c.r)); } public String toString() { String s = " "; if (i > 0) s = r + "+" + i + "i"; if (i == 0) s = r + ""; if (i < 0) s = r + " " + i + "i"; return s; } }
尝试写测试代码ComplexTest学习
运行结果测试
junit
,单击JunitGenerator V2.0
,单击绿色的Install
按钮安装。但我没有搜到JunitGenerator V2.0
。问题一解决方案:经过百度搜索,在网上查找并下载了http://plugins.jetbrains.com/pluginManager/?action=download&id=org.intellij.plugins.junitgen&build=IU-162.2228.15&uuid=6a6cb9f5-4107-46d7-9b1c-d8205218a73b
,到本地,而后找到插件所在位置,再install plugin from disk
,。ui
问题二:在进行第二步操做时,出现标红,测试未经过。this
17
换成5
就能够了。步骤 | 耗时 | 百分比 |
---|---|---|
设计 | 120min | 50% |
代码实现 | 60 | 25% |
测试 | 30 | 12.5% |
分析总结 | 30 | 12.5% |
本次实验主要学会了如何使用junit来测试代码。在不断调试中,发现junit有他得天独厚之处,方便,简洁,快速,收获很大。.net