같은 테스트 어셈블리에서 다음과 같은 방식으로 N 개의 MSTest 테스트 클래스와 메서드를 사용합니다 (동일한 정적 변수 사용).각 MSTest 테스트 메서드의 시작 부분에서 정적 변수 재설정
[TestClass]
public class TestClass1
{
[TestMethod]
public void TestMethod1A()
{
MyClass.StaticVariable = 0;
MyClass.StaticVariable = MyClass.StaticVariable + 1;
Assert.AreEqual(1, MyClass.StaticVariable)
}
[TestMethod]
public void TestMethod1B()
{
MyClass.StaticVariable = 0;
MyClass.StaticVariable = MyClass.StaticVariable + 1;
Assert.AreEqual(1, MyClass.StaticVariable)
}
}
[TestClass]
public class TestClass2
{
[TestMethod]
public void TestMethod2A()
{
MyClass.StaticVariable = 0;
MyClass.StaticVariable = MyClass.StaticVariable + 1;
Assert.AreEqual(1, MyClass.StaticVariable)
}
[TestMethod]
public void TestMethod2B()
{
MyClass.StaticVariable = 0;
MyClass.StaticVariable = MyClass.StaticVariable + 1;
Assert.AreEqual(1, MyClass.StaticVariable)
}
}
이러한 테스트는 통과 되었습니까? 내 요점은 MSTest가 테스트 메소드를 실행하여 항상 MyClass.StaticVariable을 초기화하고 단 한 번만 증가하도록 허용한다는 것입니다. 다음과 같은 시나리오가 발생할 수 있습니까?
1. TestMethod1A makes MyClass.StaticVariable 0
2. TestMethod2B increments MyClass.StaticVariable by 1
3. TestMethod1A increments MyClass.StaticVariable by 1 (making the value equal to 2)
4. TestMethod1A asserts (Fail!)
내가 아니에요 아주 MSTest 경험이 있지만 NUnit 꽤 많이 사용하고 내 경험 NUnit 정렬 (알파벳순) 어셈블리의 모든 테스트를 정렬하고 모든 동 기적으로 이동합니다. 나는 MSTest로가는 것이 같을 것이라고 생각한다. –
그렇다면 나는 행복한 야영자가 될 것이다. 테스트를 특정 순서로 실행하지 않아도 동 기적으로 실행하면 충분합니다. – Harindaka