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")
我在 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")