Tra*_*Guy 8 c# automated-tests unit-testing mstest visual-studio
我想按顺序运行以下单元测试:
如清楚所示,我需要生成一次随机数,并在3种测试方法中共享它.
我似乎找不到办法做到这一点.
知道如何实现我的目标吗?
RP *_*yer 10
您可以将共享数据放入静态变量吗?
像这样简单:
private static string testValue = "something";
[TestMethod]
public void TestMethod1()
{
Assert.AreEqual(testValue, "something");
testValue = "something2";
}
[TestMethod]
public void TestMethod2()
{
Assert.AreEqual(testValue, "something2");
testValue = "something3";
}
[TestMethod]
public void TestMethod3()
{
Assert.AreEqual(testValue, "something3");
}
Run Code Online (Sandbox Code Playgroud)
更新:总结一下这个问题的其他评论,我认为每个人都完全同意在单元测试之间保持状态是一个坏主意.如果有必要,我的回答只是一种方法.正如我在另一篇评论中所提到的,我过去必须这样做,但不是单元测试.在集成/回归测试之间保持状态有时是有益/必要的,您不一定要模拟对象或隔离应用程序的某些部分.作为软件测试人员,您并不总是具有影响/能力/权限,可以立即重构或重新架构应用程序,使其成为此测试的最佳选择.