NUnit은 정적 메서드에 적용 할 수있는 Microsoft.VisualStudio.TestTools.UnitTesting.AssemblyCleanupAttribute과 비슷한 Assembly Teardown의 개념을 지원합니까?NUnit이 Assembly Teardown의 개념을 지원합니까?
이것은 어셈블리 내의 모든 테스트가 완료된 후에 실행됩니다. 현재 NUnit 2.6.0을 사용하고 있습니다.
NUnit은 정적 메서드에 적용 할 수있는 Microsoft.VisualStudio.TestTools.UnitTesting.AssemblyCleanupAttribute과 비슷한 Assembly Teardown의 개념을 지원합니까?NUnit이 Assembly Teardown의 개념을 지원합니까?
이것은 어셈블리 내의 모든 테스트가 완료된 후에 실행됩니다. 현재 NUnit 2.6.0을 사용하고 있습니다.
이 기능이 NUnit에 존재한다는 것은 매우 분명하지 않고 직관적이지 않습니다.
Charlie Poole이 기능 요청을 위해 만든이 기능은 here이며 다음과 같이 작동합니다. 직접적인 견적입니다.
[SetUpFixture]를 사용하여 임의의 네임 스페이스 외부에 클래스를 꾸미십시오. [TearDown]을 사용하여 해당 클래스의 메소드를 장식하십시오. 원한다면 을 [SetUp]으로 장식하십시오. 당신이 요구하는 것과
차이 : 이름이 사용에 조금 불명확하게
.
NUnit은 임의의 개수를 허용하며 순서를 보장하지 않고 모두 호출합니다. 이는 의도적으로 설계된 동작입니다.
정적 또는 인스턴스 메소드에 적용 할 수 있습니다. 인스턴스 메서드 인 경우 클래스에 기본 생성자가 있어야하며 전체 테스트 실행의 수명이 만료되어 이 만들어집니다. 이것은 디자인입니다.
지금이 아니지만, 꽤 동일한 기능을 수행해야하고, 어쩌면 그는 3.0에서 조금 청소기를 만들 것입니다. :)
NUnit에는 그런 개념이 없습니다. 그러나 TestFixtureTearDownAttribute
을 메서드에 적용하여 TestFixture에서 얻은 리소스를 확보 할 수 있습니다.
정리 해봐야 할 모든 TestFixtures에 의해 사용되는 관리되지 않는 리소스가 있으므로 감사합니다. MSTest 프로젝트를 NUnit으로 이식 할 때이 문제가 발생했습니다. –
NUNit에 추가 할 기능 요청을 만들었습니다. 관심이 있으시다면 여기에서 찾으실 수 있습니다 : https://bugs.launchpad.net/nunitv2/+bug/1098766 –
NUnit 3에서 이것은 예외를 던졌습니다 :'OneTimeSetUp : SetUpFixture에서 TearDownAttribute 속성이 허용되지 않습니다 .', '[OneTimeTearDown]'이이를 수정합니다. – MrLore