gpt4 book ai didi

java - Getter 和assertEquals 函数

转载 作者:行者123 更新时间:2023-12-01 18:12:32 25 4
gpt4 key购买 nike

我已经为 Person 类编写了代码,并在该类中创建了一个构造函数 Person 和参数 name。现在,我必须创建此类的一个实例,为该人的姓名提供 getter,同时创建此类的实例,以响应接受一个参数的 greet 方法:消息。

当消息是“Hello”时,greet必须返回:

Hi, I'm {{name}}

当消息是“再见”时,greet 必须返回:

Bye

当消息是其他内容时,greet 将返回它所提供的消息。我有一个经过测试的案例代码,但我坚持使用 assertEquals() 函数和 getter 函数。现在我遇到 assertfunction 错误。谁能告诉我assertfucntion和getter是如何工作的?我已经在我的代码中实现了 getter,但我不确定我是否做对了。

这是我的代码:

class Person
{
private String name;

Person(String n)
{
n = name;
}

String GetName()
{
return this.name;
}

public void greet(String t)
{
if (t == "Hello")
{
System.out.println("Hi my name is "+name);
}
else if (t == "Goodbye")
{
System.out.println("bye");
}
else
System.out.println("Hi, my name is"+name);
}
}

测试代码:

import static org.junit.Assert.*;

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

public class TestPerson {
private Person jeff;
private Person susy;

@Before
public void setup() {
jeff = new Person("Jeff");
susy = new Person("Susy");
}

@Test
public void testGetName() {
assertEquals("Jeff", jeff.GetName());
}

@Test
public void testGreetHelloJeff() {
assertEquals("Hi, I'm Jeff", jeff.greet("Hello"));
}

@Test
public void testGreetHelloSusy() {
assertEquals("Hi, I'm Susy", susy.greet("Hello"));
}

@Test
public void testGreetGoodbye() {
assertEquals("Bye", jeff.greet("Goodbye"));
}

@Test
public void testGreetOther() {
assertEquals("Yo", jeff.greet("Yo"));
}
}

最佳答案

您无法比较String 和返回void 的方法的返回值。

你的 Person 类很奇怪。您将它与 System.out 联系得太紧密,这没有用。

对于如此小的样本量,您的代码存在很多问题。这是我可能的建议:

public class Person {

private String name;

Person(String n) {
this.name = n;
}

String getName() {
return this.name;
}

public String greet(String t) {
if ("Hello".equals(t)) {
return String.format("Hi my name is %s", name);
} else if ("Goodbye".equals(t)) {
return "bye";
} else {
return String.format("Hi, my name is %s", name);
}
}
}

关于java - Getter 和assertEquals 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31905549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com