如果我在测试方法中修改播放设置,例如:
[TestMethod]
public void MyTest()
{
Playback.PlaybackSettings.AlwaysSearchControls = true;
}
我的测试之间会保持这种设置吗?还是会被重置?
答案 0 :(得分:1)
单元测试的重点是任何给定的测试都可以独立运行。因此,不保证国家和秩序,不应该依赖。 Breakpointing构造函数将向您显示每个测试都会对您的测试类进行一次实例化。
编辑:注意"单个测试"是指单个[TestMethod]
虽然静态字段仍然存在,但这与通常的单元测试实践相反。相反,如果您的每个测试依赖于设置的字段,请使用[TestInitialize]
标记的方法,因为它将在每个测试之前运行,即使一次运行多个测试也是如此。
所有这一切的简短回答是肯定的,它可能会持续存在,但标准和安全要求你假设它没有。
答案 1 :(得分:0)
以前接受的答案不是很精确,并不是特定于Coded 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;
}
两项测试均通过。 :)