gpt4 book ai didi

java - Java 中比较器的 JUnit 测试

转载 作者:太空宇宙 更新时间:2023-11-04 06:43:07 25 4
gpt4 key购买 nike

如何使用 JUnit 测试来测试以下类。我是单元测试的新手,我只需要插入即可开始

public class ComponentComparator implements Comparator< Component >
{

@Override
public int compare ( final Component c1, final Component c2 )
{
if ( c1.getBandwidthWithHeader() > c2.getBandwidthWithHeader() )
{
return -1;
}
else if ( c1.getBandwidthWithHeader() < c2.getBandwidthWithHeader() )
{
return 1;
}
return 0;
}
}

组件类的一部分是,这个类没有构造函数

public class Component
{
private float bandwidthwithHeader;

public void setBandwidthWithHeader ( float bandwidthwithHeader )
{
this.bandwidthwithHeader = bandwidthwithHeader;
}
public float getBandwidthWithHeader ()
{
return this.bandwidthwithHeader;
}
}

最佳答案

您应该阅读一些有关 JUnit 的教程。Morfic 的评论指出了一个很好的教程。

首先为您提供帮助 - 比较器可能返回三个值 -> 为每个值编写一个案例。

import org.junit.Assert;
import org.junit.Test;

public class ComponentComparatorTest {

@Test
public void testCompare() throws Exception {
ComponentComparator comparator = new ComponentComparator();
Assert.assertEquals(comparator.compare(new Component(1), new Component(1)), 0);
Assert.assertEquals(comparator.compare(new Component(2), new Component(1)), -1);
Assert.assertEquals(comparator.compare(new Component(1), new Component(2)), 1);
}
}

我正在使用虚拟类

public class Component {
int bandwidth;

public Component(int bandwidth) {
this.bandwidth = bandwidth;
}

public int getBandwidthWithHeader(){
return bandwidth;
}
}

关于java - Java 中比较器的 JUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24409120/

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