更新自己的变量的函数

本文关键字:函数 变量 自己的 更新 | 更新日期: 2023-09-27 18:30:36

我想知道应该如何测试它,因为如果我想测试其中一个,它会迫使我在每次测试中放置两个断言(它可能会长大)。

internal class Foo
{
    public int A { get; set; }
    public int B { get; set; }
    public void UpdateVars(int a, int b)
    {
        A = a;
        B = b;
    }
}

我应该这样测试吗?

private Foo sut;
[TestCase(0, 1)]
[TestCase(-1, 1)]
[TestCase(int.MaxValue, 1)]
public void ShouldUpdateStatsAndCheckA(int a, int b)
{
    sut.UpdateVars(a, b);
    sut.A.ShouldBe(a);
}
[TestCase(1, 0)]
[TestCase(1, -1)]
[TestCase(1, int.MaxValue)]
public void ShouldUpdateStatsAndCheckB(int a, int b)
{
    sut.UpdateVars(a, b);
    sut.B.ShouldBe(b);
}

这对我来说似乎很可怕。

更新自己的变量的函数

这是测试它的好方法,因为您应该尽量避免在单个测试中出现大量断言。但是,这不应被视为规则,而应被视为建议。通常,每个测试都断言单个预期行为。

如果您发现自己必须创建大量测试,以便不会在单个测试中放置多个断言,那么您的模型很可能是错误的,并且您的方法做得太多。

有一篇关于如何处理多个断言的博客文章可能会有所帮助。