回放设置在测试之间是否持久
本文关键字:是否 之间 测试 设置 回放 | 更新日期: 2023-09-27 18:29:49
如果我在测试方法中修改播放设置,例如:
[TestMethod]
public void MyTest()
{
Playback.PlaybackSettings.AlwaysSearchControls = true;
}
这种设置会在我的测试之间持续吗?还是会重置?
单元测试的要点是任何给定的测试都可以独立运行。因此,状态和顺序是不能保证的,不应该依赖。断点指向构造函数将向您显示,您的测试类甚至在每次测试中实例化一次。
编辑:请注意,"单个测试"是指单个[TestMethod]
尽管静态字段仍然是持久的,但这与通常的单元测试实践背道而驰。相反,如果您的每个测试都依赖于所设置的文件,请使用[TestInitialize]
标记的方法,因为它将在每个测试之前运行,即使同时运行多个测试也是如此。
所有这些的简单答案是,是的,它可能会持续下去,但标准和安全要求都要求你假设它不会。
以前接受的答案不是很精确,也不是特定于编码的UI测试,所以我决定添加一个更精确的答案。
PlaybackSettings在测试之间不会持久存在。
事实上,我通过在单个测试运行中运行以下两个测试来测试行为:
[TestMethod]
public void test1()
{
Assert.IsFalse(Playback.PlaybackSettings.AlwaysSearchControls);
Playback.PlaybackSettings.AlwaysSearchControls = true;
}
[TestMethod]
public void test2()
{
Assert.IsFalse(Playback.PlaybackSettings.AlwaysSearchControls);
Playback.PlaybackSettings.AlwaysSearchControls = true;
}
两项测试均通过。:)