2014-10-28 3 views
0

나는 그것을 사용하는 방법을 톤 발견했지만 무엇을하지 XXX.YYY.ZZZ를 사용하여; 지시문을 사용해야합니다.C# .NET 3.5에서 Assert는 어디에 정의되어 있습니까?

"The name 'Assert' does not exist in the current context"

그래서 패키지 내가 선언해야 내가 사용 :조차 MSDN 페이지에 ...

나는 오류가 계속?

미리 감사드립니다. 당신이 찾고있는 가정

+3

http://msdn.microsoft.com/en-us/library/ms182530.aspx –

+0

여기에 정의되어 있습니다 : http://msdn.microsoft.com/en-us/library/system.diagnostics.debug. assert (v = 90) .aspx "System.Diagnostics"Debug.Assert (bool condition, string message) – Bonomi

+1

어떤 유형의 자료를보고 있습니까? 예를 들어, NUnit의 Assert를 의미합니까? 또는 MSTest의 Assert? 또는 내장 된'Debug.Assert'를 의미합니까? 또는 ...? –

답변

1

(등을 잘 컴파일해야한다), Assert(a !=b)의 의견에서 C의 예를 사용하여이 일반 런타임 주장이 아니라 특정/임의의 테스트 프레임 워크를 사용

using System; 
using System.Diagnostics; 

class Program 
{ 
    static void Main() 
    { 
     int a = 5, b = 10; 
     Console.WriteLine("hello"); 
     Debug.Assert(a != b); // should get past this 
     Console.WriteLine("world"); 
     b = 5; 
     Debug.Assert(a != b); // should fail in debug mode 
    } 
} 

참고. Debug.Assert[Conditional("DEBUG")] 메서드이므로 릴리스 빌드에서 호출되지 않습니다.

2

코드에서 assertion하지 단위 테스트 :

여기에 완벽하게 동작하는 예제입니다, Assert가 사용하는 동안 혼란과 방법이 많이있을 것 같습니다 때문에 System.Diagnostics.Debug.Assert

+0

오류 받기 : 오류 'Assert'형식이 'System.Diagnostics.Debug'형식으로 존재하지 않습니다. –

+1

@Peter correct; 'Assert' ('Debug.Assert' 문맥에서)는 타입이 아닌 메소드 이름입니다. 다시 : 당신이 보았던 것의 맥락에서 우리가 대답 할 수 있도록, 당신이 보았던 "물질적 인"것이 무엇입니까? –

관련 문제