홈>
OData V4 Client Code Generator
로 OData 클라이언트 코드를 생성했습니다
. 생성 된 코드는 MS Fakes없이 단위 테스트를 할 수 없으므로 가짜 어셈블리를 생성했습니다. 이제 메소드의 반환 값을 실제로 설정하는 방법에 문제가 있습니다.
System
라고합니다.
:
[global::Microsoft.OData.Client.OriginalNameAttribute("System")]
public partial class System : global::Microsoft.OData.Client.DataServiceContext
{
/// <summary>
/// Initialize a new System object.
/// </summary>
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.OData.Client.Design.T4", "2.4.0")]
public System(global::System.Uri serviceRoot) :
base(serviceRoot, global::Microsoft.OData.Client.ODataProtocolVersion.V4)
{
this.ResolveName = new global::System.Func<global::System.Type, string>(this.ResolveNameFromType);
this.ResolveType = new global::System.Func<string, global::System.Type>(this.ResolveTypeFromName);
this.OnContextCreated();
this.Format.LoadServiceModel = GeneratedEdmModel.GetInstance;
this.Format.UseJson();
}
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.OData.Client.Design.T4", "2.4.0")]
[global::Microsoft.OData.Client.OriginalNameAttribute("salesorders")]
public global::Microsoft.OData.Client.DataServiceQuery<Salesorder> Salesorders
{
get
{
if ((this._Salesorders == null))
{
this._Salesorders = base.CreateQuery<Salesorder>("salesorders");
}
return this._Salesorders;
}
}
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.OData.Client.Design.T4", "2.4.0")]
private global::Microsoft.OData.Client.DataServiceQuery<Salesorder> _Salesorders;
... continues from here and contains all the strongly typed classes...
}
이제
Salesorders
속성을 볼 수 있습니다
DataServiceQuery<Salesorder>
입니다
Linq 표현식을 매개 변수로 사용합니다.
손으로 쿼리를 설정하려고 시도했지만 작동하지 않으며 테스트 사례에서 실제 쿼리를 지정하는 것이 약간 중복되는 것처럼 보입니다. 기본적으로 필요한 것은 Moq를 사용할 수있는 것처럼 List (또는 Enumrable)를 반환하는 방법입니다.
편집 : 오래된 CRM 코드 생성기로 Fakes를 사용하는 것에 대한 오래된 기사를 찾았지만이 경우에는 도움이되지 않습니다 ( https://zhongchenzhou.wordpress.com/2012/07/10/ dynamics-crm-2011-unit-test-part-2-microsoft-fakes-with-linq-query )
_client = new ODataClient.Microsoft.Dynamics.CRM.Fakes.StubSystem(new System.Uri(...
_dao = new DataAccess.DataAccess(_client);
using (ShimsContext.Create())
{
var query = from a in _client.Salesorders select a;
ODataClient.Microsoft.Dynamics.CRM.Fakes.ShimSystem.AllInstances.SalesordersGet = (c) =>
{
return new Microsoft.OData.Client.DataServiceQuery<Salesorder>( // how?
};
// This fails _dao.GetSalesordersByAccountAndContactId(Guid.NewGuid().ToString(), Guid.NewGuid().ToString());
}
- 답변 # 1
관련 자료
- java - Void 또는 반환 유형 접근 방식을 사용하여 개체에 값 설정
- javascript - 반응 함수 구성 요소의 끝에서 값을 반환 할 것으로 예상되는 linter를 수정하는 방법은 무엇입니까?
- parsing - 목록 반환 값을 값을 대체 할 수있는 sympy 표현식으로 구문 분석하는 방법은 무엇입니까?
- PHP에서 Python 프로그램을 실행하고 HTML 내에서 반환 값을 사용하는 방법은 무엇입니까?
- c++ - GMOCK 개체가 종속성 주입에서 EXPECT_CALL에 의해 설정된 값을 반환하지 않는 이유
- javascript - 배열 값으로 배열 객체 필터링
- javascript - 부울 값 배열 대신 부울 값 1 개를 반환하는 매핑 함수
- android - q - 개체 목록에서 특정 속성을 반환 할 수 없습니까?
- postgresql - sql - 왼쪽 조인을 객체로 반환
- javascript - 소품이 가장 많은 배열로 객체를 반환합니다
- Javascript Regex의 시퀀스에서 일치하는 값을 반환하는 방법
- semantics - Ruby setter가 인스턴스 변수의 최종 값이 아닌 전달 된 값을 반환하는 이유는 무엇입니까?
- javascript - 기존 개체 배열에 새 키 값을 삽입 하시겠습니까?
- 자바 스크립트를 사용하여 문자열을 객체로 변환하고 snake_case에서 일부 키를 반환하는 방법은 무엇입니까?
- javascript - Object 값을 비교하는 방법
- sql server - c #의 저장 프로 시저에서 반환 값 가져 오기
- swift - 함수 내에서 if let 문에서 값을 반환하는 방법은 무엇입니까?
- sql server - Powershell 저장소 파이프 라인 반환 값을 변수로
- arrays - JS 객체에서 중복되거나 잘못된 값을 찾습니다자바 스크립트
- r - htest 개체의 인덱스 값?
관련 질문
- c# : In Memory DB 저장 프로시저로 어떻게 UnitTest합니까?
- c# : 키 값이 있는 요청 가져오기에 대해 Odata 8.0.6이 작동하지 않음
- c# : OData 엔터티를 게시하고 동시에 여러 기존 엔터티에 연결하는 방법은 무엇입니까?
- c# : 이 방법에 대한 단위 테스트를 만드는 방법은 무엇입니까?
- c# : Moq를 사용하여 클래스의 모든 메소드 조롱
- c# : 단위 테스트에서 데이터베이스를 열 수 없지만 db가 생성됨
- c# : 메소드 `DoMethod()`에 대한 생성자 인수 null 예외 및 catch 블록을 모두 처리하는 방법
- c# : ex에서 호출하지 않고 확장 메서드를 단위 테스트하거나 디버그할 수 있습니까? 콘솔 앱? 씨#
- c# : Visual Studio Test Runner에서 특정 테스트를 제외하는 방법은 무엇입니까?
- c# : 많은 함수 호출이 없을 때 Moq를 사용하여 HttpClient를 조롱합니다.