모든 테스트에서 간단한 트랜잭션을 설정하는 단위 테스트를위한 기본 클래스가 있습니다. 클래스에 대한 모든 검사가 완료된 후이 롤백한다 - TestInitialize의 TransactionAbortedException
public class TestBase
{
TransactionScope _trans;
[TestInitialize()]
public void Init()
{
_trans = new TransactionScope();
}
[TestCleanup()]
public void Cleanup()
{
_trans.Dispose();
}
}
내 상속 클래스 중 하나에서 나는 이러한 테스트의 실행하기 전에, 내가 한 번하고 싶은 일이 무리가 있습니다.
[TestClass]
public class MyTests : TestBase
{
static TransactionScope _transClass;
[ClassInitialize()]
public static void ClassInit(TestContext context)
{
_transClass = new TransactionScope();
//do some setup
}
[ClassCleanup()]
public static void ClassCleanup()
{
_transClass.Dispose();
}
[TestMethod()]
public void TestMethod()
{
//do some testing
}
}
제 실제 수업에는 여러 가지 테스트 방법이 있습니다. 첫 번째 테스트 메서드는 정상적으로 통과하지만 두 번째 메서드는 TestInitialize에 새 TransactioScope를 설정하려고 할 때 TransactionAbortedException을 throw합니다. 누군가 제가 여기서 잘못 설정 한 것을 설명해 주시겠습니까?