단위 테스트에서 TestCleanup을 수행하려고하지만 매개 변수를 정리 메서드에 전달해야합니다. 그러나 기본 TestCleanup이 자동으로 호출되기 때문에 매개 변수를 전달할 수는 없습니다.TestCleanup의 매개 변수 전달
누군가가이 방법을 제안 할 수 있습니까?
단위 테스트에서 TestCleanup을 수행하려고하지만 매개 변수를 정리 메서드에 전달해야합니다. 그러나 기본 TestCleanup이 자동으로 호출되기 때문에 매개 변수를 전달할 수는 없습니다.TestCleanup의 매개 변수 전달
누군가가이 방법을 제안 할 수 있습니까?
및 정리 테스트 방법 : CleanUp()
방법은 모든 단위 테스트 후 실행됩니다, someValue
가 결합되기 때문에
namespace YourNamespace
{
[TestClass]
public class UnitTest1
{
private string someValue;
[TestMethod]
public void TestMethod1()
{
someValue = "someValue";
}
[TestCleanup]
public void CleanUp()
{
// someValue is accessible here.
}
}
}
정확한 단위 테스트의 문맥.
희망이 도움이됩니다.
테스트 클래스의 필드를 전달해야 할 필요가 있다고 생각하는 매개 변수 값으로 설정할 수 있지만 솔직히 말해서 정리에 대한 매개 변수가 필요하다는 것은 놀랍습니다. 이것은 시험에 문제가있는 냄새 일 것입니다.
단위 테스트에는 정리가 필요하지 않아야하며, 각 테스트마다 자체 설정을 수행해야하며 별도로 실행해야합니다.
일부 외부 종속성이있는 정리 테스트에 정리가 필요한 경우 제안한대로 필드를 사용할 수 있습니다 (각 테스트의 시작 부분에서 설정할 수 있음). 따라서 정리 기능이 테스트가 실패한 경우 정리할 대상을 알고 있어야합니다.) 그 테스트 후에 정리할 올바른 값을 지정해야합니다.) 또는 각 테스트에서 명시 적으로 호출 된 명시 적 정리 기능 (필요한 매개 변수를 가짐)을 최종적으로 만들 것입니다. 그런 다음 TestFixture를 정리하여 ALL 데이터를 정리했는지 확인하십시오. ANY에 의해 사용 된 데이터는 정리 메소드를 호출하지 않고 테스트에 실패한 경우를 대비하여 테스트합니다.
당신은 설정, 테스트 간의 통신을 테스트 클래스 인스턴스 변수를 사용할 수테스트 설정 및 정리 방법이 존재하는 이유는 모든 테스트에 대해 공통 설정 및 정리 논리를 캡슐화 할 수 있기 때문입니다. 단위 테스트 로직을 캡슐화하는 것이 아닙니다. – Zorayr
작업중인 코드를 게시하면 질문에 답변하는 데 도움이됩니다. –