Kotlin中的单元测试无法返回值

时间:2019-12-29 04:20:15

标签: unit-testing kotlin

我正在研究单元测试,我的第一个测试项目是乐透,所以我想使用测试获得六个数字。

我不了解我的错误,该在哪里修复此代码? #include <type_traits> template<typename A, typename B> bool is_the_same_value(const A& a, const B& b) { if constexpr(!std::is_same_v<A,B>) return false; else return a == b; } 是一种获取1〜45号的方法。 并且getSixNumber是获取六个数字,避免使用Set重复数字。

getRandom
    @Test
    fun isSixNumber(){
        var numbers = getSixNumber()
        println(numbers)
        assertEquals(6,numbers.size)
    }

    @Test
    fun getSixNumber() : Set<Int> {
        var lottoNum = setOf<Int>(6)
        while(lottoNum.size!=6){
            lottoNum.plus(getRandom())
        }
        return lottoNum
    }


    fun getRandom():Int{
        return Random().nextInt(45)+1
    }

1 个答案:

答案 0 :(得分:0)

与Java中一样,单元测试方法不会返回任何值(无效),主要是因为它是 unit 测试,并且它的结果不应与其他测试有关/

您的解决方法是删除返回类型:

@Test
fun getSixNumber() {
    var lottoNum = setOf<Int>(6)
    while(lottoNum.size!=6){
        lottoNum.plus(getRandom())
    }
    return lottoNum
}