繁体   English   中英

Junit 测试 - 在测试运行中仅识别一个实例

[英]Junit Testing- Only one instance is recognised in test run

我正在为我的队列测试一种方法,它只能识别一个实例。 因此,当我运行测试时,它说结果应该是“乘客人数:3.0”,而不是“乘客人数为 13.0”。任何帮助都会很棒,谢谢。

这是我的 totalPassengers() 方法

public String totalPassengers() {
        double total = 0;
        if (isEmpty()) {
            return ("There are no vehicles in the queue");
        } else {
            VehicleNode temp = start;
            while (temp != null) {
                total = total += temp.getPassengers();
                temp = temp.getPrevious();
            }//while
        }//else
        return ("Number of passengers is: " + total);

这是 JUnit 测试

@Test
public void testTotalPassengers() {
    System.out.println("totalPassengers");
    CVMQueue instance = new CVMQueue();
    VehicleNode newnode1 = new VehicleNode("OXB 123", "Car", "British", 3, 1.2);
    VehicleNode newnode2 = new VehicleNode("BR 22", "Mini-Bus", "Italian", 10, 2.2);
    instance.enqueue(newnode1);
    instance.enqueue(newnode2);
    String expResult = "Number of passengers is: 13.0";
    String result = instance.totalPassengers();
    assertEquals(expResult, result);
}

我正在为队列测试一种方法,它只能识别一个实例。 因此,当我运行测试时,结果应为“旅客人数:3.0”,而不是“旅客人数为13.0”,谢谢。

这是我的totalPassengers()方法

public String totalPassengers() {
        double total = 0;
        if (isEmpty()) {
            return ("There are no vehicles in the queue");
        } else {
            VehicleNode temp = start;
            while (temp != null) {
                total = total += temp.getPassengers();
                temp = temp.getPrevious();
            }//while
        }//else
        return ("Number of passengers is: " + total);

这是JUnit测试

@Test
public void testTotalPassengers() {
    System.out.println("totalPassengers");
    CVMQueue instance = new CVMQueue();
    VehicleNode newnode1 = new VehicleNode("OXB 123", "Car", "British", 3, 1.2);
    VehicleNode newnode2 = new VehicleNode("BR 22", "Mini-Bus", "Italian", 10, 2.2);
    instance.enqueue(newnode1);
    instance.enqueue(newnode2);
    String expResult = "Number of passengers is: 13.0";
    String result = instance.totalPassengers();
    assertEquals(expResult, result);
}

似乎这里有一个错误,现在已修复;

 public String totalPassengers() { double total = 0; if (isEmpty()) { return ("There are no vehicles in the queue"); } else { VehicleNode temp = start; while (temp != null) { total += temp.getPassengers(); temp = temp.getPrevious(); }//while }//else return ("Number of passengers is: " + total);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM