Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中从其他方法调用对象_Java_Testing - Fatal编程技术网

在java中从其他方法调用对象

在java中从其他方法调用对象,java,testing,Java,Testing,我是一个新手程序员,想知道如何创建一个测试方法,从上面的setUp()方法调用对象。如果使用方法初始化对象,而测试方法进行测试,是否有更好的方法 如有任何提示,我们将不胜感激 public class ProjectTeamRemoveMemberTest { //Initialize test object public static void setUp() { Date date = new Date(); Employee e =

我是一个新手程序员,想知道如何创建一个测试方法,从上面的setUp()方法调用对象。如果使用方法初始化对象,而测试方法进行测试,是否有更好的方法

如有任何提示,我们将不胜感激

public class ProjectTeamRemoveMemberTest {
    
    //Initialize test object
    public static void setUp() {
        Date date = new Date();
        Employee e = new Employee("Alice", date);
        Project p = new Project();
    }

    @Test
    public void removeTeamMember_True_ifMemberIsSelected() {
        setUp();
        assertEquals(true, p.removeTeamMember(e));
    }
}

您可以在类级别创建这些变量,在设置中分配值,并在测试中引用它们

public class ProjectTeamRemoveMemberTest {
    
    static Date date;
    static Employee e;
    static Project p;

    //Initialize test object
    public static void setUp() {
        date = new Date();
        e = new Employee("Alice", date);
        p = new Project();
    }

    @Test
    public void removeTeamMember_True_ifMemberIsSelected() {
        assertEquals(true, p.removeTeamMember(e));
    }
}

您可以在注释之前使用
@,或在注释之前使用
@
(如果使用JUnit5)

公共类ProjectTeamRemoveMemberTest{

private Employee e;
private Project p;

@Before // will be called before each test mehod
public void createEmployee() {
   e = new Employee("Alice", new Date());
}
@Before 
public void createProject() {
   p = new Project();
}

@Test
public void removeTeamMember_True_ifMemberIsSelected() {
    assertEquals(true, p.removeTeamMember(e));
}

}

啊,我明白了,我必须将类级别的变量设置为公共静态,对吗?所以它们可以通过setUp()方法访问?既然setUp方法是静态的,那么是的,这些变量也必须是静态的。