gpt4 book ai didi

c# - 单元测试方法独立性

转载 作者:行者123 更新时间:2023-11-30 20:11:40 25 4
gpt4 key购买 nike

所以,我不完全确定这是真的:

[TestClass]
public class UnitTest1
{
private int i = 0;

[TestMethod]
public void TestMethod1()
{
Thread.Sleep(5000);
Assert.IsTrue(i == 10);
}

[TestMethod]
public void TestMethod2() {
i = 10;
}
}

从测试结果来看,好像不是,但我想确定的是,如果我在测试方法上定义了一个全局变量,其他测试方法就无法读取它。

另外,我是否必须定义

    [TestCleanup]
public void Test_Cleanup() {
engine = null;
}

因为这个

    [TestInitialize]
public void Test_Initialize()
{
var pieceGeneratorMock = new Mock<IPieceGenerator>();
pieceGeneratorMock.Setup(pg => pg.Generate())
.Returns(new Piece(Color.Red));
IPieceGenerator pieceGenerator = pieceGeneratorMock.Object;

Size size = new Size(4, 4);
BackgroundBoard backgroundBoard = new BackgroundBoard(size);
PieceBoard pieceBoard = new PieceBoard(size);
engine = new Engine(pieceGenerator, backgroundBoard, pieceBoard);
}

?

最佳答案

至少在 JUnit 中,每个测试方法都是在 TestCase 的一个单独实例上调用的。您可以通过在每个测试* 方法中输出/记录 this 的身份散列来自行验证这一点。

关于c# - 单元测试方法独立性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3417408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com