更新自己的变量的函数
本文关键字:函数 变量 自己的 更新 | 更新日期: 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);
}
这对我来说似乎很可怕。
这是测试它的好方法,因为您应该尽量避免在单个测试中出现大量断言。但是,这不应被视为规则,而应被视为建议。通常,每个测试都断言单个预期行为。
如果您发现自己必须创建大量测试,以便不会在单个测试中放置多个断言,那么您的模型很可能是错误的,并且您的方法做得太多。
有一篇关于如何处理多个断言的博客文章可能会有所帮助。