小编Tob*_*own的帖子

如何使用随机种子值在 Python 中对 PRNG 进行单元测试?

我对编程还很陌生,只是在学习如何进行单元测试。我需要测试一个返回随机值的函数。到目前为止,我已经找到建议使用特定种子值的答案,以便“随机”序列是恒定的并且可以进行比较。这是我到目前为止所得到的:

这是我要测试的功能:

import random

def roll():
    '''Returns a random number in the range 1 to 6, inclusive.'''
    return random.randint(1, 6)
Run Code Online (Sandbox Code Playgroud)

这是我的单元测试:

class Tests(unittest.TestCase):

    def test_random_roll(self):
        random.seed(900)
        seq = random.randint(1, 6)
        self.assertEqual(roll(), seq)
Run Code Online (Sandbox Code Playgroud)

如何在函数中为PRNG设置相应的种子值,以便可以在不将其写入函数本身的情况下对其进行测试?或者这是测试随机数生成器的完全错误的方法?

谢谢

python random

5
推荐指数
1
解决办法
5099
查看次数

如何测试构造函数是否使用JUnit 5抛出异常?

我正在创建一个Fraction API类,我的一个构造函数通过将分子和分母参数放在最低项中来标准化一个分数:

    public Fraction(int numerator, int denominator){
    if (denominator == 0)
        throw new ArithmeticException("Cannot divide by zero.");
    else {
        if (denominator < 0) {
            numerator = -numerator;
            denominator = -denominator;
        }
        int gcd; // Greatest Common Divisor
        int tmpNum = numerator, tmpDen = denominator;
        // Determine greatest common divisor of numerator and denominator
        while (tmpNum != 0 && tmpDen != 0) {
            int tmp = tmpDen;
            tmpDen = tmpNum % tmpDen;
            tmpNum = tmp;
        }
        gcd = Math.abs(tmpNum + tmpDen); …
Run Code Online (Sandbox Code Playgroud)

java unit-testing junit5

1
推荐指数
1
解决办法
1901
查看次数

标签 统计

java ×1

junit5 ×1

python ×1

random ×1

unit-testing ×1