gpt4 book ai didi

java - 如何在 JUnit 测试中测试集合中元素的顺序?

转载 作者:行者123 更新时间:2023-12-03 22:54:04 27 4
gpt4 key购买 nike

我想用 JUnit 测试验证我在 Java 中的集合排序算法。如果我将 "B","C","A"输入到集合中并希望对其进行排序(例如按字母顺序),使用 JUnit 测试它的正确方法是什么?

我实现了 Comparable 接口(interface),并希望确保我的排序工作正常。

我想这个问题可以从 Java 或 JUnit 扩展到任何语言的一般测试。

最佳答案

不确定我是否得到了你的问题。在编写测试的技术方面,您可以使用以下内容(示例使用 Hamcrest):

import java.util.Collection;

import org.hamcrest.collection.IsIterableContainingInOrder;
import org.junit.Assert;
import org.junit.Test;

import com.google.common.collect.Lists;
public class MyTest {
@Test
public void collectionTest() {
final Collection<String> actual = Lists.newArrayList("AAA", "ABC", "BBB", "AZZ");
Assert.assertThat(actual, IsIterableContainingInOrder.contains("AAA", "ABC", "AZZ", "BBB"));
}
}

运行这个结果:
java.lang.AssertionError: 
Expected: iterable containing ["AAA", "ABC", "AZZ", "BBB"]
got: <[AAA, ABC, BBB, AZZ]>

at org.junit.Assert.assertThat(Assert.java:778)
at org.junit.Assert.assertThat(Assert.java:736)
at ...

如果您的问题更具哲学性,那么还有其他两个答案...

关于java - 如何在 JUnit 测试中测试集合中元素的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9945129/

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