Junit + Netbeans:在类

时间:2015-09-29 01:11:36

标签: java unit-testing netbeans junit

我做了一个非常简单的类来测试正确的Junit测试生成。问题是,当我创建一个Junit测试时,由于某种原因它找不到我的方法。我尝试过多个非常简单的类但没有成功。我开始认为我错误地为项目设置了Junit。这是我试图测试的简单课程:

package controller;

public class SampleProgram {

    public int multiply(int x1, int x2){
        return x1 * x2;
    }
}

以下是我在Netbeans中创建Junit测试时生成的内容:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package controller;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;

public class ProgramTest {

    public ProgramTest() {
    }

    @BeforeClass
    public static void setUpClass() {
    }

    @AfterClass
    public static void tearDownClass() {
    }

    @Before
    public void setUp() {
    }

    @After
    public void tearDown() {
    }

}

为什么我的方法没有找到并生成测试的任何帮助非常感谢。我之前没有使用过Junit而且完全迷失了。感谢

修改 以下是我的编辑器的屏幕截图,其中包含Jose Martinez提供的Junit测试。 导入是netbeans创建Junit测试时的默认值。 Screenshot

2 个答案:

答案 0 :(得分:0)

如果您指的是Netbeans自动单元测试创​​建器功能,那么......当您右键单击Nebeans项目选项卡中的一个类并选择Tools -> Create/Update Tests时,将弹出一个对话框。在“代码生成”框中的“方法访问级别”下,选择“公共”单选按钮。

但通常这个自动功能只是为了让你入门。您必须熟悉创建自己的测试。在这种情况下,乘法的良好单元测试可能看起来像这样。

@Test
public void testMultiply() {
    System.out.println("testingMultiply");

    SimpleProgram instance = new SimpleProgram();
    int expected = 12;
    int p1 = 3;
    int p2 = 4;
    int actual = instance.multiply(p1, p2);
    assertEqual(expected, actual);
}

答案 1 :(得分:0)

您应该从向导中选择正确的代码生成项。 enter image description here