jdk环境下能否进行junit测试
import junit.framework.TestCase;
public class GameTest extends TestCase {
public static void main(String[] args) {
}
public void testPrintStr() {
Player player=new Player();
player.setLevelNo(5);
Game game=new Game(player);
assertEquals("详细信息",6,game.printStr().length());
}
public void test(){
Player player=new Player();
player.setLevelNo(5);
Game game=new Game(player);
assertFalse(game.wode1());
}
}
这是我新建的测试类,当我导入junit.jar后使用javac编译通过了,但是使用java GameTest后,提示无法找到main 方法,我想知道在JDK环境下该如何测试呢?
--------------------编程问答--------------------
http://www.cnblogs.com/eggbucket/archive/2012/02/02/2335697.html
--------------------编程问答--------------------
--------------------编程问答--------------------
Quote: 引用 2 楼 xiyuan1999 的回复:
Quote:
我说的不是在eclipse下,就是在控制台下能够测试?
--------------------编程问答--------------------
也可以的
=========
一、安装JUnit
1.下载 www.junit.org
2.我下载的是4.11 要多下个 hamcrest-core-1.3.jar
二、javac编译
1.没有包的情况。
a. cd 到java文件的目录
b. javac -cp D:\JUnit4.11\junit-4.11.jar FooTest.java
2. 有包的情况。
a. cd 到包层 比如有包 com.test在src下 则cd到src
b. javac -cp D:\JUnit4.11\junit-4.11.jar -d .\ com\test\FooTest.java
三、java运行
1.没有包的情况。
a. cd 到class文件的目录
b. java -cp .;D:\JUnit4.11\junit-4.11.jar;D:\JUnit4.11\hamcrest-core-1.3.jar FooTest
2. 有包的情况。
a. cd 到包层 比如有包 com.test在src下 则cd到src
b. java -cp .;D:\JUnit4.11\junit-4.11.jar;D:\JUnit4.11\hamcrest-core-1.3.jar com.test.FooTest
注意别忘了.; 不然会提示 Could not find class:FooTest
P.S. FooTest的代码用于实验javac和java
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import org.junit.Ignore;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
/**
* Tests for {@link Foo}.
*
* @author user@example.com (John Doe)
*/
@RunWith(JUnit4.class)
public class FooTest {
@Test
public void thisAlwaysPasses() {
}
@Test
@Ignore
public void thisIsIgnored() {
}
}
--------------------编程问答--------------------
链接在这里:
http://blog.163.com/yujie_chen2011/blog/static/20037916720136135346120/
--------------------编程问答--------------------
注意: 编译 和 运行的时候 -cp 环境变量
--------------------编程问答--------------------
你的类没有包名吗?
--------------------编程问答--------------------
另外你的main方法 貌似是空的~~
--------------------编程问答--------------------
引用 8 楼 rainbowsix 的回复: 另外你的main方法 貌似是空的~~
我的文件直接是在D盘目录下的,我这个main方法,是我在没能成功测试testPrintStr(),test()这两个方法后自己加上去的,不过即使有了main()方法还是不能成功进行单元测试,我认为使用junit测试是不需要main方法的呀,我要如何才能在控制台通过 java命令进行junit的测试……
--------------------编程问答--------------------
引用 9 楼 nd707355117 的回复: Quote: 引用 8 楼 rainbowsix 的回复:
另外你的main方法 貌似是空的~~
我的文件直接是在D盘目录下的,我这个main方法,是我在没能成功测试testPrintStr(),test()这两个方法后自己加上去的,不过即使有了main()方法还是不能成功进行单元测试,我认为使用junit测试是不需要main方法的呀,我要如何才能在控制台通过 java命令进行junit的测试……
java -cp .:/usr/share/java/junit.jar org.junit.runner.JUnitCore [test class name]
具体的可以看4楼,写的比较详细
--------------------编程问答--------------------
其实执行的是org.junit.runner.JUnitCore , 测试类只是个参数
--------------------编程问答--------------------
引用 11 楼 rainbowsix 的回复: 其实执行的是org.junit.runner.JUnitCore , 测试类只是个参数
嗯 ,我再试试~
--------------------编程问答--------------------
4楼相当详细啊
补充: Java , Java SE