2012-11-03 2 views
1

MonSpec을 Natural에서 컴파일하고 MonoDevelop에서 F # 라이브러리 프로젝트를 사용하려고합니다. 추가 정보 테스트가 실패'Mono에서 이름을 찾을 수없는 NaturalSpec 메서드

module ListSpec 
open NaturalSpec 

[<Scenario>] 
let When_removing_an_3_from_a_small_list_it_should_not_contain_3() = 
    Given [1;2;3;4;5] 
    |> When removing 3 
    |> It shouldn't contain 3 
    |> Verify 

을 - 오류와 함께 NaturalSpec.Syntax.shouldn't method가 발견되지 않았는지 확인합니다. should 테스트로 대체하면이를 바로 잡습니다. 모노가 아포스트로피가있는 메서드를 사용하는 데 문제가 있습니까? 컴파일이 제대로 작동하므로 메서드가 표시되지만 런타임에는 찾을 수 없습니까?

+0

나는'''이름으로'''을 (를)''fsi'와'fsc'에서 잘 작동합니다 - Mono v 2.10.2와 fsi v2.0.0.0에서 - 그래서 문제는 뭔가 다른 것 –

+1

어떤 모노 버전을 사용하고 있습니까? 당신이 회귀를 발견했을 수도 있습니다. – skolima

+0

모노 버전 3.0.0 – Alexy

답변

1

NaturalSpec을 Mono 3.0.0에서 F # 3.0 및 .NET Framework 4.5로 다시 컴파일 한 다음 내 프로젝트에서 정확히 동일한 작업을 수행했습니다. 분명히 NaturalSpec.fsproj를 열면 .NET 3.5가 기본값으로 설정됩니다. 또한 Mono 3.0.0을 사용하는 경우에도 기본 F #은 2.0이었습니다. 오픈 소스 코드에서 F #을 별도로 설치하고 MonoDevelop의 F # 환경 설정에서와 같이 fsc와 fsi를 지정했습니다. 이제 NaturalSpec을 참조로 만들었고 MonoDevelop에서 단위 테스트가 제대로 표시됩니다. Mono에서 TDD를 수행하는 가장 좋은 방법입니다.

관련 문제