«moq» 태그된 질문

Moq는 .NET을위한 강력한 형식의 최소한의 모의 프레임 워크입니다.


3
메소드에 전달 된 리턴 값
인터페이스에 대한 방법이 있습니다. string DoSomething(string whatever); 나는 이것을 MOQ로 조롱하여 전달 된 모든 것을 반환합니다. _mock.Setup( theObject => theObject.DoSomething( It.IsAny<string>( ) ) ) .Returns( [the parameter that was passed] ) ; 어떤 아이디어?
390 c#  mocking  moq 

4
Moq에게 작업을 반환하도록하려면 어떻게해야합니까?
선언하는 인터페이스가 있습니다 Task DoSomethingAsync(); 테스트에 MoqFramework를 사용하고 있습니다. [TestMethod()] public async Task MyAsyncTest() { Mock<ISomeInterface> mock = new Mock<ISomeInterface>(); mock.Setup(arg => arg.DoSomethingAsync()).Callback(() => { <my code here> }); ... } 그런 다음 테스트에서 호출하는 코드를 실행합니다 await DoSomethingAsync(). 그리고 테스트는 그 라인에서 실패합니다. 내가 뭘 잘못하고 있죠?

11
Moq에서 out / ref 파라미터 지정
Moq (3.0+)를 사용하여 out/ ref매개 변수 를 할당 할 수 있습니까? 내가 사용을 검토 한 결과 Callback(),하지만 Action<>이 제네릭을 기반으로하기 때문에 심판이 매개 변수를 지원하지 않습니다. 콜백에서이를 수행 할 수는 있지만 매개 변수 It.Is의 입력에 제약 조건 ( ) 을 넣고 싶습니다 ref. Rhino Mocks가이 기능을 지원한다는 것을 알고 있지만 …
293 c#  parameters  moq  ref  out 

7
Moq를 사용하여 처음과 두 번째에 다른 반환 값
나는 다음과 같은 테스트를 받았다. [TestCase("~/page/myaction")] public void Page_With_Custom_Action(string path) { // Arrange var pathData = new Mock<IPathData>(); var pageModel = new Mock<IPageModel>(); var repository = new Mock<IPageRepository>(); var mapper = new Mock<IControllerMapper>(); var container = new Mock<IContainer>(); container.Setup(x => x.GetInstance<IPageRepository>()).Returns(repository.Object); repository.Setup(x => x.GetPageByUrl<IPageModel>(path)).Returns(() => pageModel.Object); pathData.Setup(x => x.Action).Returns("myaction"); pathData.Setup(x …
262 c#  unit-testing  nunit  moq 

3
Moq를 사용하여 단위 테스트를위한 비동기 메소드 조롱
웹 API호출 을 수행하는 서비스에 대한 방법을 테스트하고 있습니다. HttpClient웹 서비스 (솔루션의 다른 프로젝트에 위치)를 로컬로 실행하는 경우 일반을 사용하면 단위 테스트에 적합합니다. 그러나 변경 사항을 체크인하면 빌드 서버가 웹 서비스에 액세스 할 수 없으므로 테스트가 실패합니다. IHttpClient인터페이스 를 만들고 응용 프로그램에서 사용하는 버전을 구현하여 단위 테스트를 위해이 문제를 해결할 …

6
"가상이 아닌 (VB에서 재정의 할 수없는) 멤버에서 유효하지 않은 설정 ..."메시지와 함께 예외가 발생하는 이유는 무엇입니까?
부울 유형을 반환하는 비가 상 메소드를 조롱 해야하는 단위 테스트가 있습니다. public class XmlCupboardAccess { public bool IsDataEntityInXmlCupboard(string dataId, out string nameInCupboard, out string refTypeInCupboard, string nameTemplate = null) { return IsDataEntityInXmlCupboard(_theDb, dataId, out nameInCupboard, out refTypeInCupboard, nameTemplate); } } 그래서 XmlCupboardAccess클래스 의 모의 객체가 있고 아래 표시된 것처럼 테스트 …
176 c#  unit-testing  moq 

7
Moq를 이용한 모의 확장 방법
기존 인터페이스가 있습니다 ... public interface ISomeInterface { void SomeMethod(); } 그리고 mixin을 사용 하여이 intreface를 확장했습니다 ... public static class SomeInterfaceExtensions { public static void AnotherMethod(this ISomeInterface someInterface) { // Implementation here } } 테스트하고 싶은 클래스가 있습니다 ... public class Caller { private readonly ISomeInterface someInterface; public Caller(ISomeInterface …

9
ASP.Net MVC에서 컨트롤러에서 요청을 조롱하는 방법?
ASP.Net MVC 프레임 워크를 사용하는 C # 컨트롤러가 있습니다. public class HomeController:Controller{ public ActionResult Index() { if (Request.IsAjaxRequest()) { //do some ajaxy stuff } return View("Index"); } } 조롱에 대한 팁을 얻었고 다음과 RhinoMocks로 코드를 테스트하기를 바랐습니다. var mocks = new MockRepository(); var mockedhttpContext = mocks.DynamicMock<HttpContextBase>(); var mockedHttpRequest = mocks.DynamicMock<HttpRequestBase>(); …

5
Moq로 특정 매개 변수 확인
public void SubmitMessagesToQueue_OneMessage_SubmitSuccessfully() { var messageServiceClientMock = new Mock<IMessageServiceClient>(); var queueableMessage = CreateSingleQueueableMessage(); var message = queueableMessage[0]; var xml = QueueableMessageAsXml(queueableMessage); messageServiceClientMock.Setup(proxy => proxy.SubmitMessage(xml)).Verifiable(); //messageServiceClientMock.Setup(proxy => proxy.SubmitMessage(It.IsAny<XmlElement>())).Verifiable(); var serviceProxyFactoryStub = new Mock<IMessageServiceClientFactory>(); serviceProxyFactoryStub.Setup(proxyFactory => proxyFactory.CreateProxy()).Returns(essageServiceClientMock.Object); var loggerStub = new Mock<ILogger>(); var client = new MessageClient(serviceProxyFactoryStub.Object, loggerStub.Object); client.SubmitMessagesToQueue(new List<IMessageRequestDTO> {message}); //messageServiceClientMock.Verify(proxy …
170 c#  unit-testing  nunit  moq 

8
Moq : 모의 서비스의 메소드에 전달 된 매개 변수를 얻는 방법
이 수업을 상상해보십시오 public class Foo { private Handler _h; public Foo(Handler h) { _h = h; } public void Bar(int i) { _h.AsyncHandle(CalcOn(i)); } private SomeResponse CalcOn(int i) { ...; } } Foo 테스트에서 Mo (q) cking Handler, Bar()전달 된 내용을 _h.AsyncHandle어떻게 확인할 수 있습니까?
169 c#  moq 

3
메소드가 호출되는지 확인하기 위해 Moq 사용
더 높은 수준의 메서드를 호출하면 메서드 호출이 발생하는지 테스트 할 수 있습니다. public abstract class SomeClass() { public void SomeMehod() { SomeOtherMethod(); } internal abstract void SomeOtherMethod(); } 전화하면 전화가 SomeMethod()올 것으로 예상합니다 SomeOtherMethod(). 이런 종류의 테스트가 조롱 프레임 워크에서 사용할 수 있다고 생각합니까?
159 c#  .net  unit-testing  mocking  moq 

1
Moq를 사용하여 메소드 호출 확인
저는 C #에서 단위 테스트를 처음 접했고 Moq를 사용하는 법을 배우고 있습니다. 아래는 내가 테스트하려고하는 수업입니다. class MyClass { SomeClass someClass; public MyClass(SomeClass someClass) { this.someClass = someClass; } public void MyMethod(string method) { method = "test" someClass.DoSomething(method); } } class Someclass { public DoSomething(string method) { // do something... …
142 c#  testing  methods  moq 

3
입력 매개 변수를 지정하지 않은 Moq 모의 메소드
Moq를 사용하는 테스트에 코드가 있습니다. public class Invoice { ... public bool IsInFinancialYear(FinancialYearLookup financialYearLookup) { return InvoiceDate >= financialYearLookup.StartDate && InvoiceDate <= financialYearLookup.EndDate; } ... } 따라서 단위 테스트 에서이 방법을 조롱하여 true로 반환하려고합니다. mockInvoice.Setup(x => x.IsInFinancialYear()).Returns(true); 어쨌든이 줄을 작성하여 입력을에 지정할 필요가 없습니다 IsInFinancialYear. 즉. 그래서 입력 매개 변수가 …
133 c#  mocking  moq 

13
ASP.NET Core에서 ILogger로 단위 테스트하는 방법
이것은 내 컨트롤러입니다. public class BlogController : Controller { private IDAO<Blog> _blogDAO; private readonly ILogger<BlogController> _logger; public BlogController(ILogger<BlogController> logger, IDAO<Blog> blogDAO) { this._blogDAO = blogDAO; this._logger = logger; } public IActionResult Index() { var blogs = this._blogDAO.GetMany(); this._logger.LogInformation("Index page say hello", new object[0]); return View(blogs); } } 보시다시피 두 가지 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.