当前位置:编程学习 > JAVA >>

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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,