我正在研究单元测试,我的第一个测试项目是乐透,所以我想使用测试获得六个数字。
我不了解我的错误,该在哪里修复此代码? #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
}
答案 0 :(得分:0)
与Java中一样,单元测试方法不会返回任何值(无效),主要是因为它是 unit 测试,并且它的结果不应与其他测试有关/
您的解决方法是删除返回类型:
@Test
fun getSixNumber() {
var lottoNum = setOf<Int>(6)
while(lottoNum.size!=6){
lottoNum.plus(getRandom())
}
return lottoNum
}