首先你的method有问题,少了“()”
class Hello
{
    public void printHello()
    {
        System.out.println("Hello World");
    }
}

解决方案 »

  1.   

    class Hello
    {
        public String printHello()
        {
            String t = "Hello World";
            return t;
        }
    }
    public class HelloTest extends TestCase {         private Hello test = new Hello();
    public HelloTest(String arg0) {
    super(arg0);
    } public static void main(String[] args) {
    junit.textui.TestRunner.run(new HelloTest("testHelloPrint"));
    } public void testPrintHello() {
    assertEquals("Hello World",test.printHello()); 
    }}
    据我所知,JUnit 不能判别System.out.println的信息准确性,我改写了printHello()method
      

  2.   

    那么Junit怎样对返回值为void的方法进行测试?
    比如说有一个读文件的read()方法,没有返回值,只可能会抛出异常。怎样进行测试的编写呢?
    谢谢。
      

  3.   

    (1)使用Junti进行测试,需要使用一个类来扩展TestCase,如:UnitTest extends TestCase, 然后在UnitTest中需要一个 main方法,将UnitTest当做一个单独的应用来运行。z在TestCase中生成你要测试的类的一个实例,然后一个一个的测试这个实例的public方法。
    且,被测试的方法的输出你要事先知道。
    (2)测试一组随机数是否有重复,使用Junit真的有一些麻烦。因为Junit中的测试方法大部分是判断输出结果同期望结果是否相等。你可以据此想办法。
      

  4.   

    要进行测试,首先要知道需要测试什么.
    public void printHello
        {
            System.out.println("Hello World");
        }
    这样一个方法,楼主到底想去测试 System.out.println是否可能,还是想测试 "hello World"
    这个字符串.就 void printHello 方法声明来说,对于调用者他不保证任何东西. 那当然是测试不到.如果你对 "Hello World" 字符串有怀疑,
    就写个 方法叫 String getHelloWorld()
                  {
                     return "Hello World";
                  } 
     
    楼主之所以没办法测试的原因在于,程序藕合性太高.
    建议可以去看看《测试驱动开发》
      

  5.   

    我想知道的是,如果一个方法被声明为void,单纯的进行一些操作,没有任何返回值的话,如何用Junit来编写测试。
    谢谢
      

  6.   

    继续讨论这问题:
    我刚学JUnit 不久,我的毕业设计开发个类库,因此用到它来做测试
    我知道的JUnit只能用些  assertEquals来比较你的期望值和实际执行值,返回true or false
    我不知道还有其他什么功能吗?
    我是用Eclips开发的,我看了些文档说要先些好TestCase or TestSuit再开发(就像写测试计划一样,比较理想化)不知道如何在Eclips中实现???还有各位能介绍基本好的关于测试的书籍?
    《测试驱动开发》我在寻觅电子版,还有其他吗?一起共享
    我建议创建测试专区,其实WEB开发的测试更烦!!!
      

  7.   

    >>>>>>>>>
    我想知道的是,如果一个方法被声明为void,单纯的进行一些操作,没有任何返回值的话,如何用Junit来编写测试。
    <<<<<<<<这样的方法无法测试,因为这样的方法不值得测试.
    如果那个void的方法不可能出错,就不需要测试.
    如果那个void的方法可能出错,那就应该有返回值,或者抛出异常.
    如果那个void的方法,可能出错但又不给出成败标志,
    那就不是如何测试的问题了,那就是这个方法本身设计有问题了.如果你发现你无法测试某个方法时,就有必要检讨一下这个方法设计是否
    合理了. 这个过程检讨的过程也是驱动测试如果提高开发质量的一个方式.所谓的完全测试,在实际上没有意义.
    驱动测试推荐的观点,只测试可能出错的地方. 
      

  8.   

    void的方法,传对象进去,在test方法中,assert传进去的方法的reference
      

  9.   

    import junit.framework.*;
    class Hello
    {
        public String printHello()
        {
            String t = "Hello World";
            return t;
        }
    }
    public class Hello extends TestCase {         private TestHello test = new Hello();
    public HelloTest(String arg0) {
    super(arg0);
    } public static void main(String[] args) {
    junit.textui.TestRunner.run(new HelloTest("testHelloPrint"));
    } public void testPrintHello() {
    assertEquals("Hello World",test.printHello()); 
    }}
    run as junit Test
      

  10.   

    不对,class 的名字要加test,应叫testHello