C#에서는 초기화되지 않은 변수를 선언 할 수 있습니다.이 변수는 나중에 클래스의 다양한 메서드에서 할당됩니다. 예를 들어, NUnit 테스트에서 나는 setup 메소드에서만 초기화 된 다음, 다양한 테스트에서 반복적으로 사용되는 타입 변수를 선언 할 수 있습니다.나중에 C#에서 사용하기 위해 변수를 선언하는 것과 동일한 관용적 인 F #은 무엇입니까
private MyTestClass sut;
public Setup()
{
sut = new MyTestClass();
etc.
}
public FirstTest()
{
sut.DoSomeWork(1);
}
public SecondTest()
{
sut.DoSomeWork(2);
}
나는 F #에서 이에 상응하는 작업을 수행하고 싶습니다. 그러나 this 및 기타에 따르면 할당되지 않은 '변수'는 F #에서 완료된 것이 아닙니다.
내 F # 테스트의 경우 모듈이 테스트되지 않고 [<DefaultValue>] val
이 작동하지 않습니다. mutable
을 사용하면 F # 코드 작성자가 최후의 수단으로 생각하는 것처럼 느껴지지 않습니다.
idomatic F #에는 할당되지 않은 값이 필요하지 않으므로이 문제를 해결하는 "올바른"방법은 무엇입니까?
'let sut = new MyTestClass()'의 문제점은 무엇입니까? – s952163
왜 이러한 변수가 필요합니까? 당신이 그들을 사용하는 곳에서 그들을 선언 할 수없는 이유가 있습니까? C# 예제에서는 두 가지 테스트를 병렬로 실행할 수 없으며 발에서 자신을 쐈다. –
확실히 내가 변수를 사용할 때마다 변수를 선언해서는 안됩니다. 각 테스트에서 동일하게 초기화 된 해당 클래스의 인스턴스가 필요한 경우 해당 초기화가 설정에 있어야합니다. 많은 수의 테스트가 있었고 각 테스트마다 다양한 도우미 클래스의 복잡한 초기화가 필요한 경우 어떻게 할 것입니까? 각 테스트에서 그렇게하지 않으려 고합니다. 각 테스트를 초기화하기 전에 실행해야 할 도우미, 즉 설치 메소드에 스틱을 둡니다. 오해가 있습니다. – FSharpOrBust