为单元测试创​​建Student对象

时间:2016-08-21 17:55:02

标签: java json unit-testing junit objectmapper

我是Java的新手,需要一些帮助。我有一个实用程序类,它有两个方法,其中一个方法将Json字符串转换为对象,另一个方法将对象转换为Json字符串

我想用junit测试这些方法。为了这个测试目的,我需要一个对象。让我们说一个名字和StudentId的学生对象。

我的问题是,有没有什么办法可以在我的测试中获得这个对象而不为学生创建一个单独的课程?因为我只需要这个对象用于测试目的。

3 个答案:

答案 0 :(得分:1)

为什么要创建另一个学生班? 只需在junit测试类中创建一个Student对象(测试必须与代码分开) 它将是这样的:

import org.junit.Before;
import org.junit.Test;
import org.junit.After;

public class StudentTest
{

    private Student tester;

    @Before
    public void setUp() throws Exception
    {
        //init student objects
    }

    @Test
    public void test()
    {
        //test logic
    }

    @After
    public void cleanUp()
    {
        //destruct
    }
}

有关测试逻辑的说明,请参阅junit文档,例如: AssertNotNull 如果您的班级没有被称为学生,请参加您的课程(您的实用班级?)

答案 1 :(得分:0)

如果您不想创建单独的类,可以在JUnit测试类中创建一个静态成员类,如下例所示:

public class StaticMemberClassDemo {

    public static void main(String[] args) {
        Student student = new Student("John Doe", 1);
    }

    private static class Student {
        private final String name;
        private final int id;

        public Student(String name, int id) {
            this.name = name;
            this.id = id;
        }
    }
}

答案 2 :(得分:0)

我不确定你的意思是什么。请注意,在java中,您可以定义不同类型的nested classes。这里定义一个静态嵌套类就像rohitvats所建议的那样没有什么坏处。