2017-01-20 3 views
1

독립적으로 잘 테스트하는 간단한 C# Column 픽스처 클래스가 있습니다. SQL Server 테이블을 다시 독립적으로 테스트 할 수 있습니다. 둘 다 테스트하면 SQL 테이블을 먼저 테스트하고 다시 확인하십시오. 내가 처음 C#을 테스트하는 경우 그러나, 다음 SQL 테스트는 '형식'연결 실패 '에없는 어셈블리'dbfit에서 .Net 및 SQL 테스트 실행 중 오류가 발생했습니다.

따라서이 잘 작동

...

!define COMMAND_PATTERN {%m -r fitnesse.fitserver.FitServer %p} 
!define TEST_RUNNER {fitsharp\Runner.exe} 
!define PATH_SEPARATOR {;} 

!path fitsharp/fit.dll 
!path fitsharp/dbfit.sqlserver.dll 

!|dbfit.SqlServerTest| 
!|Connect|Data Source=localhost;integrated security=SSPI;Initial  Catalog=Test2| 
!|Query| select Colour from dbo.Colour| 
|Colour| 
|yellow-orange| 

!path Fixtures.dll 

!|Fixtures.SampleDo| 
|firstPart|secondPart|together?|totalLength?| 
|Hello|World|Hello, World|10| 
|Houston|We Have a Problem|Houston, We Have a Problem|24| 

... 그러나 이것은 단순히 의해 실패 Fixtures.dll 테스트를 이동 ...

!define COMMAND_PATTERN {%m -r fitnesse.fitserver.FitServer %p} 
!define TEST_RUNNER {fitsharp\Runner.exe} 
!define PATH_SEPARATOR {;} 

!path Fixtures.dll 

!|Fixtures.SampleDo| 
|firstPart|secondPart|together?|totalLength?| 
|Hello|World|Hello, World|10| 
|Houston|We Have a Problem|Houston, We Have a Problem|24| 

!path fitsharp/fit.dll 
!path fitsharp/dbfit.sqlserver.dll 

!|dbfit.SqlServerTest| 
!|Connect|Data Source=localhost;integrated security=SSPI;Initial  Catalog=Test2| 
!|Query| select Colour from dbo.Colour| 
|Colour| 
|yellow-orange| 

답변

1

업데이트 : DbFit 작동하지 않습니다 아래에 설명되어있는 원래의 솔루션입니다. 여기에 해결 방법입니다 : 당신의 고정 SampleDo에서

, 당신은 SqlServerTest 테스트의 테이블의 나머지 부분을 처리 할 수 ​​있도록 다음을 포함 할 수 있습니다

public override bool IsVisible { get { return false; } } 

원래 답 :

를 사용하여 DbFit, 테이블

!|dbfit.SqlServerTest| 

은 일반적으로 시험은 그래서 방법이 SqlServerTest에서 실행되는 것으로 해석된다

!|Connect|Data Source=localhost;integrated security=SSPI;Initial  Catalog=Test2| 

같은 "시스템에서 테스트"이후 테이블이됩니다. 그 첫 번째 테이블이 아닌 경우

는 뭔가 다른 귀하의 경우, SampleDo에서 "시스템에서 테스트"가 될 것이며, FitNesse는 SampleDo에 방법 Connect를 찾습니다. SqlServerTest 테스트를 통해 "시스템에서 테스트"부분의 방법을 만들려면, 키워드와 함께 사용

!|with|new|dbfit.SqlServerTest| 
+0

그것의 확실히 더 가까이 날 잡았어하지만 지금은 다른 오류를 받고 있어요 .. System.Reflection.TargetInvocationException : 호출 대상에 의해 예외가 발생했습니다. ---> System.NullReferenceException : 개체 참조가 개체의 인스턴스로 설정되지 않았습니다. 에서 fitSharp.Fit.Engine.CellProcessorExtension.Get [V] (CellProcessor 프로세서) 에서 dbfit.DatabaseTest.Query (문자열 쿼리) --- 내부 예외 스택 추적 끝 --- 에서 fitSharp.Machine.Model. TypedValue.ThrowExceptionIfNotValid() 에서 fitSharp.Fit.Operators.InterpretFlow.ProcessFlowRow (Tree'1 테이블, Int32 행 번호) – Tirinoarim

+0

나는 당신이보고있는 오류를 일으키는 DbFit의 버그가 있기 때문에 해결 방법으로 답변을 업데이트했습니다. –

+0

빠른 답장 Mike에게 다시 한 번 감사드립니다. 제안 된대로 재정의를 추가했으나 "with | new"가 삭제되었습니다.하지만 원래 '어셈블리에서 찾을 수없는 연결'오류가 발생합니다. ( – Tirinoarim

관련 문제