Junit 测试方法返回语句 "void type no allowed"

Junit test method returning statement "void type no allowed"

我在 Junit 测试 class 中有一个方法,它测试电子邮件是否已成功更改,问题是它返回一条错误消息说 "void type not allowed" 我不确定为什么。

这是测试电子邮件是否已成功更改但 returns 提到的错误的方法。

  @Test
public void testChangeEmail()
{
    assertEquals("001", teacher.getEmail());
    assertEquals("002", teacher.changeEmail("002"));
    assertEquals("002", teacher.getEmail());

}

这里是整个 class,

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


public class TeacherTest
{
    private Teacher teacher;

    /**
     * Default constructor for test class TeacherTest
     */
    public TeacherTest()
    {
    }

    /**
     * Sets up the test fixture.
     *
     * Called before every test case method.
     */
    @Before
    public void setUp()
    {
        teacher = new Teacher("Amy Blunt", "001", "MNHA");
    }

    /**
     * Tears down the test fixture.
     *
     * Called after every test case method.
     */
    @After
    public void tearDown()
    {
    }

    @Test
    public void testGetName()
    {
        assertEquals("Amy Blunt", teacher.getName());
    }

    @Test
    public void testMembership()
    {
        assertEquals("001", teacher.getEmail());
    }


    @Test
    public void testQualifications()
    {
        assertEquals("MNHA", teacher.getQualifications());
    }

    @Test
    public void testChangeEmail()
    {
        assertEquals("001", teacher.getEmail());
        assertEquals("002", teacher.changeEmail("002"));
        assertEquals("002", teacher.getEmail());

    }

}

我猜你的 teacher.changeEmail(); 方法实际上 return 什么都没有。

而不是 assertEquals("002", teacher.changeEmail("002")); 只需调用 teacher.changeEmail("002");。下一个断言检查以确保电子邮件已正确更新。

@Test
public void testChangeEmail()
{
    assertEquals("001", teacher.getEmail());
    teacher.changeEmail("002")
    assertEquals("002", teacher.getEmail());

}

你的方法 teacher.changeEmail("002") return 有一些价值?如果不是,请替换为:
assertEquals("002", teacher.changeEmail("002"));
为此:
teacher.changeEmail("002")