Comment vérifier que cette méthode n'a PAS été appelée dans Moq ? At-il quelque chose comme AssertWasNotCalled? MISE À JOUR: à partir de la version 3.0, une nouvelle syntaxe peut être utilisée: mock.Verify(foo => foo.Execute("ping"), Times.Never());
J'ai une méthode sur une interface: string DoSomething(string whatever); Je veux me moquer de cela avec MOQ, afin qu'il renvoie tout ce qui a été passé - quelque chose comme: _mock.Setup( theObject => theObject.DoSomething( It.IsAny<string>( ) ) ) .Returns( [the parameter that was passed] ) ; Des idées?
J'ai une interface qui déclare Task DoSomethingAsync(); J'utilise MoqFramework pour mes tests: [TestMethod()] public async Task MyAsyncTest() { Mock<ISomeInterface> mock = new Mock<ISomeInterface>(); mock.Setup(arg => arg.DoSomethingAsync()).Callback(() => { <my code here> }); ... } Ensuite, dans mon test, j'exécute le code qui invoque await DoSomethingAsync(). Et le test échoue simplement …
Est-il possible d'assigner un paramètre out/ en refutilisant Moq (3.0+)? J'ai regardé l'utilisation Callback(), mais Action<>ne prend pas en charge les paramètres ref car il est basé sur des génériques. J'aimerais aussi de préférence mettre une contrainte ( It.Is) sur l'entrée du refparamètre, bien que je puisse le faire dans …
J'ai un test comme celui-ci: [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 …
Je teste une méthode pour un service qui effectue un APIappel Web . L'utilisation d'un normal HttpClientfonctionne bien pour les tests unitaires si j'exécute également le service Web (situé dans un autre projet de la solution) localement. Cependant, lorsque j'enregistre mes modifications, le serveur de compilation n'aura pas accès au …
J'ai un test unitaire où je dois me moquer d'une méthode non virtuelle qui renvoie un type booléen 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); } } J'ai donc un …
J'ai une interface préexistante ... public interface ISomeInterface { void SomeMethod(); } et j'ai étendu cette interface en utilisant un mixin ... public static class SomeInterfaceExtensions { public static void AnotherMethod(this ISomeInterface someInterface) { // Implementation here } } J'ai une classe qui appelle ça que je veux tester ... …
J'ai un contrôleur en C # utilisant le framework ASP.Net MVC public class HomeController:Controller{ public ActionResult Index() { if (Request.IsAjaxRequest()) { //do some ajaxy stuff } return View("Index"); } } J'ai eu quelques conseils sur la moquerie et j'espérais tester le code avec ce qui suit et RhinoMocks var mocks …
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 …
Imaginez cette classe 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) { ...; } } Mo (q) cking Handler dans un test de Foo, comment pourrais-je vérifier ce qui Bar()est passé _h.AsyncHandle?
Je crois comprendre que je peux tester qu'un appel de méthode se produira si j'appelle une méthode de niveau supérieur, c'est-à-dire: public abstract class SomeClass() { public void SomeMehod() { SomeOtherMethod(); } internal abstract void SomeOtherMethod(); } Je veux tester que si j'appelle, SomeMethod()je m'attends à ce que SomeOtherMethod()cela soit …
Je suis assez nouveau dans les tests unitaires en C # et j'apprends à utiliser Moq. Voici la classe que j'essaie de tester. class MyClass { SomeClass someClass; public MyClass(SomeClass someClass) { this.someClass = someClass; } public void MyMethod(string method) { method = "test" someClass.DoSomething(method); } } class Someclass { …
J'ai du code dans un test utilisant Moq: public class Invoice { ... public bool IsInFinancialYear(FinancialYearLookup financialYearLookup) { return InvoiceDate >= financialYearLookup.StartDate && InvoiceDate <= financialYearLookup.EndDate; } ... } Donc, dans un test unitaire, j'essaie de me moquer de cette méthode et de la rendre vraie mockInvoice.Setup(x => x.IsInFinancialYear()).Returns(true); Est-il …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.