当前位置: 首页 > 知识库问答 >
问题:

JUnit测试类失败测试

齐永昌
2023-03-14
assertTrue(g1.toString.equals("50.0 75.0"); the 50 and 75 are scores taken from the objects of GradeBook made in the JUnit Test Class in the setUp() method but mine will be Totally different.
import java.util.ArrayList;
import java.util.Arrays;

public class GradeBook
{
private double[] scores;
private int scoresSize;

/**
  Constructs a gradebook with no scores and a given capacity.
  @capacity the maximum number of scores in this gradebook
 */
public GradeBook(int capacity)
{
    scores = new double[capacity];
    scoresSize = 0;
}

/**
  Adds a score to this gradebook.
  @param score the score to add
  @return true if the score was added, false if the gradebook is full
 */
public boolean addScore(double score)
{
    if (scoresSize < scores.length)
    {
        scores[scoresSize] = score;
        scoresSize++;
        return true;
    }
    else
        return false;      
}

/**
  Computes the sum of the scores in this gradebook.
  @return the sum of the scores
 */
public double sum()
{
    double total = 0;
    for (int i = 0; i < scoresSize; i++)
    {
        total = total + scores[i];
    }
    return total;
}

/**
  Gets the minimum score in this gradebook.
  @return the minimum score, or 0 if there are no scores.
 */
public double minimum()
{
    if (scoresSize == 0) return 0;
    double smallest = scores[0];
    for (int i = 1; i < scoresSize; i++)
    {
        if (scores[i] < smallest)
        {
            smallest = scores[i];
        }
    }
    return smallest;
}

/**
  Gets the final score for this gradebook.
  @return the sum of the scores, with the lowest score dropped if 
  there are at least two scores, or 0 if there are no scores.
 */
public double finalScore() 
{
    if (scoresSize == 0)
        return 0;
    else if (scoresSize == 1)
        return scores[0];
    else
        return sum() - minimum();
}

public int getScoresSize() {
    return scoresSize;
}

public String toString(String scoreList){


    for(int i = 0; i < scores.length; i++){

        scoreList += scores[i] + "";

    }
    return scoreList;
}

}
import static org.junit.Assert.*;

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


public class GradeBookTest {

private GradeBook g1;
private GradeBook g2;

@Before
public void setUp() throws Exception {

    g1 = new GradeBook(5);
    g2 = new GradeBook(5);

    g1.addScore(45);
    g1.addScore(68);
    g1.addScore(35);
    g1.addScore(22);

    g2.addScore(99);
    g2.addScore(10);
    g2.addScore(77);
    g2.addScore(43);
}

@After
public void tearDown() throws Exception {

    g1 = null;
    g2 = null;

}

@Test
public void testAddScore() {

    assertTrue(g1.toString().equals("45.0 68.0 35.0 22.0"));
    assertTrue(g2.toString().equals("99.0 10.0 77.0 43.0"));

    assertEquals(45,g1.getScoresSize(),.001);
    assertEquals(68,g1.getScoresSize(),.001);
    assertEquals(35,g1.getScoresSize(),.001);
    assertEquals(22,g1.getScoresSize(),.001);

    assertEquals(99,g2.getScoresSize(),.001);
    assertEquals(10,g2.getScoresSize(),.001);
    assertEquals(77,g2.getScoresSize(),.001);
    assertEquals(43,g2.getScoresSize(),.001);
}

共有1个答案

计和顺
2023-03-14

您的toString方法具有签名:

public String toString(String scoreList)

它需要参数,您可以调用它,就像:

g1.toString()

将toString方法更改为:

public String toString(){

    String scoreList = "";

    for(int i = 0; i < scores.length; i++){

        scoreList += scores[i] + " "; //remember to add a space here!

    }
    return scoreList;
}
 类似资料:
  • 我有一个简单的测试用例: FileManager中的函数删除 /myDir下的所有文件,然后再次保留文件。 如上所述,我有一个。运行时,我可以按以下顺序查看所有打印: 但是,测试在失败。有两件事我不明白: > 我不明白,它在中失败了,为什么我仍然可以看到打印的,听起来就像是失败了,它没有停止运行,而是继续运行下一个测试?JUnit测试用例中的场景背后发生了什么?? 我不明白的另一件事是为什么tes

  • 我正在为我的RESTAPIendpoint编写JUnit,我已经为它创建了一个简单的hello world控制器类和JUnit,但是我在执行JUnit测试用例时遇到了以下异常。如果有人能帮我解决这个问题,那将非常有帮助。我在Spring4.3版本中使用JDK6 注意:我没有使用spring上下文XML—我使用的是Java注释 你好ontroller.java HelloControlllerTes

  • 我想学习如何编写JUnit测试,但我完全失败了。 这是我的测试: 问题是这个简单的断言已经失败了。返回的列表是空的。我知道,我对这一切都不熟悉,但是从我的角度来看,失败是如此出乎意料,以至于我没有办法解决这个问题。 以下是全部代码(不太多): 要测试的功能就是这个,我知道它是有效的: 实际上,我只是想学习如何编写这样的测试,但是几天来我一直没有写出来。有相当多的例子和解释,但是不管我做什么尝试,我

  • 我正在尝试从spring启动应用程序中的服务执行JUnit4测试,并且我一直使用init获取entityManagerFactory。 我还希望使用我的应用程序连接。属性文件,但它希望使用嵌入式hsqldb进行连接。 有人能给我指出正确的方向吗? 以下是相关代码: 应用特性: 主要内容: 实体: DAO/存储库: 服务: 测试: 本应包括以下内容: 堆叠:

  • 首先请原谅我可能的无知,专业的做事方式对我来说很新鲜,如果有什么我没有提到的,请告诉我,我会尽力给你你需要的信息。。。 所以我试图用maven在Eclipse中构建我的webapp,我有一个测试套件 这很好,当我右键单击并以Junit test运行测试时,所有测试都通过了。 当我以Maven build的形式运行它,并以打包一系列测试为目标时,失败了??? 我的maven surefire插件配置

  • 我试图对我的骆驼路由进行单元测试,在成功调用路由后,我从测试代码中获得了404,这意味着我无法从测试中读取响应,总是抛出没有找到404 这是我的测试代码 我的路线定义如下 所以我的路由被调用,日志输入器记录了有效负载的200成功,但是当生产者模板返回时,它有404异常。 知道我做错了什么吗?