本文是翻译文章,请尊重翻译者,转载注明出处
一、JUnit4与JUnit3的不同
在JUnit 3中对测试类有霸道的要求,如下:
1)测试类必须extends Testcase
2)测试类中的测试方法必须以“test”开头,如“testGetName”
翠花,上代码~
如有这么一个被测试类:
public class AddOperation { public int add(int x,int y){ return x+y; } }
我们要测试add这个方法,我们写单元测试得这么写:
import junit.framework.TestCase; import static org.junit.Assert.*; public class AddOperationTest extends TestCase{ public void setUp() throws Exception { } public void tearDown() throws Exception { } public void testAdd() { System.out.println(\”add\”); int x = 0; int y = 0; AddOperation instance = new AddOperation(); int expResult = 0; int result = instance.add(x, y); assertEquals(expResult, result); } }
在JUnit 4中使用了注解,因此,不在需要遵守Junit3的两条霸王条款。
翠花,上代码~
import org.junit.After; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.*; /** * * @author bean */ public class AddOperationTest { @Before public void setUp() throws Exception { } @After public void tearDown() throws Exception { } @Test public void add() { System.out.println(\”add\”); int x = 0; int y = 0; AddOperation instance = new AddOperation(); int expResult = 0; int result = instance.add(x, y); assertEquals(expResult, result); } }
===================================
二、如何导入JUnit4到项目中
IDEA自带JUnit4的jar包,现在让我们来导入。
Step 1. IDEA最上面一栏的菜单栏中,选File->Project Structure(从上往下第11个),弹出窗口左边有一个列表,选Module。
Step 2. 右侧有一个带3个标签的窗口,选Dependencies标签
Step 3. 下面的列表框列出了项目的jar包,右侧有个绿色的'+'号,左键点击,在左键菜单里选第一个
Step 4. 在弹出的文件浏览窗口,选择"IDEA的安装目录\lib\junit-4.11.jar"
测试类写好后右键测试类名,在右键菜单选 Run ‘AddOperationTest’,一切似乎就要搞定了
等等,突然报错,输出窗口里一行令人不悦的红字出现了
java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
这个错误的原因是,junit-4.11版本还需要一个jar包叫做hamcrest(IDEA官方帮助传送门htt把ps://ww中w.jetbrains.c文om/idea/help/去configuring-testing-libraries.h掉tml)
在上面的Step 4.中,还需要选择"IDEA的安装目录\lib\hamcrest-core-1.3.jar"
现在,可以进行单元测试了。没有图片,见谅~
还有问题可以回复本文