나는 비즈니스 계층에서 비슷한 메서드를 사용합니다. 나는 단위 테스트에 익숙하지 않고 때때로 혼란스러워합니다. 아이디어를 얻으려면이 방법을 테스트하기위한 더 나은 방법은 무엇입니까? ? 나는단위 테스트 다음 메서드에서 "ref"를 사용하여 값을 반환하는 방법
Adapter
는 비주얼 스튜디오 2008, 데이터 세트 디자이너
AddDeveloperCategoryReturnID()
= 이름을 생성 = C 번호 NUnit를하고 MOQ
public int? AddNewCatRetID(string categoryName)
{
int? categoryID = 0;
Adapter.AddNewBlogCategoryReturnID(categoryName, ref categoryID);
if (categoryID.HasValue)
return categoryID;
return 0;
}
을 사용하고 있습니다
새 레코드 인 "Category"를 추가하고 자동 생성 된 ID를 반환합니다. 0이 아닌 경우 추가 처리를 위해 결과를 가져옵니다. 나는 데이터베이스에 대화에 관심을 안 알고
는 아래의 단지
PROCEDURE [dbo].[AddDeveloperCategoryReturnID]
@NAME NVARCHAR(MAX),
@CATEGORY_ID INT OUTPUT
AS
BEGIN
INSERT INTO [AllTimeGreatProgrammersDateBase].dbo.CATEGORIES(NAME)
VALUES (@NAME);
SET @CATEGORY_ID = SCOPE_IDENTITY();
SELECT @CATEGORY_ID;
END
몇 가지 문제 확인하는 방법
- DB에 무슨 일이 일어나고 있는지에 대한 아이디어를 제공하는 절차입니다 메서드에서 "ref"를 사용하여 반환 된 값
- 테스트하고 테스트하지 않으려는 것은 무엇입니까? 할 수있는 경우 위대 될 것입니다
왜 처음부터 ref 매개 변수를 사용하고 있습니까? 그냥 반환 값으로 만드십시오. –
categoryId가 Nullable 인 이유는 무엇입니까? 당신이 그것을 int로 형변환하면 null입니다. 예외가 발생합니다. – magnus
@jon Skeet : ref를 사용하여 저장 프로 시저의 결과를 반환하는 방법을 잘 모릅니다. @magnus : 그것은 가상의 방법은 당신의 추천 –