Wie überprüfe ich, ob die Methode in Moq NICHT aufgerufen wurde ? Hat es so etwas wie AssertWasNotCalled? UPDATE: Ab Version 3.0 kann eine neue Syntax verwendet werden: mock.Verify(foo => foo.Execute("ping"), Times.Never());
Ich habe eine Methode auf einer Schnittstelle: string DoSomething(string whatever); Ich möchte dies mit MOQ verspotten, damit es alles zurückgibt, was übergeben wurde - so etwas wie: _mock.Setup( theObject => theObject.DoSomething( It.IsAny<string>( ) ) ) .Returns( [the parameter that was passed] ) ; Irgendwelche Ideen?
Ich habe eine Schnittstelle, die deklariert Task DoSomethingAsync(); Ich verwende MoqFramework für meine Tests: [TestMethod()] public async Task MyAsyncTest() { Mock<ISomeInterface> mock = new Mock<ISomeInterface>(); mock.Setup(arg => arg.DoSomethingAsync()).Callback(() => { <my code here> }); ... } Dann führe ich in meinem Test den Code aus, der aufgerufen wird await DoSomethingAsync(). …
Ist es möglich, einen out/ ref-Parameter mit Moq (3.0+) zuzuweisen? Ich habe mir die Verwendung angesehen Callback(), unterstütze jedoch Action<>keine Ref-Parameter, da diese auf Generika basieren. Ich möchte auch vorzugsweise eine Einschränkung ( It.Is) für die Eingabe des refParameters setzen, obwohl ich dies im Rückruf tun kann. Ich weiß, dass …
Ich habe einen Test wie diesen: [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"); …
Ich teste eine Methode für einen Dienst, der einen Webanruf APItätigt. Die Verwendung eines Normalen HttpClientfunktioniert gut für Unit-Tests, wenn ich den Webdienst (der sich in einem anderen Projekt in der Lösung befindet) auch lokal ausführe. Wenn ich jedoch meine Änderungen einchecke, hat der Build-Server keinen Zugriff auf den Webdienst, …
Ich habe einen Komponententest, bei dem ich eine nicht virtuelle Methode verspotten muss, die einen Bool-Typ zurückgibt 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); } } Ich habe also ein …
Ich habe eine bereits vorhandene Schnittstelle ... public interface ISomeInterface { void SomeMethod(); } und ich habe dieses intreface mit einem mixin erweitert ... public static class SomeInterfaceExtensions { public static void AnotherMethod(this ISomeInterface someInterface) { // Implementation here } } Ich habe eine Klasse, die das nennt und die …
Ich habe einen Controller in C #, der das ASP.Net MVC-Framework verwendet public class HomeController:Controller{ public ActionResult Index() { if (Request.IsAjaxRequest()) { //do some ajaxy stuff } return View("Index"); } } Ich bekam einige Tipps zum Verspotten und hoffte, den Code mit den folgenden und RhinoMocks testen zu können var …
Stellen Sie sich diese Klasse vor 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 in einem Test von Foo, wie könnte ich überprüfen, was …
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 …
Nach meinem Verständnis kann ich testen, ob ein Methodenaufruf erfolgt, wenn ich eine übergeordnete Methode aufrufe, dh: public abstract class SomeClass() { public void SomeMehod() { SomeOtherMethod(); } internal abstract void SomeOtherMethod(); } Ich möchte das testen, wenn ich anrufe, SomeMethod()dann erwarte ich, dass SomeOtherMethod()das angerufen wird. Habe ich Recht, …
Ich bin ziemlich neu in Unit-Tests in C # und lerne, Moq zu verwenden. Unten ist die Klasse, die ich zu testen versuche. class MyClass { SomeClass someClass; public MyClass(SomeClass someClass) { this.someClass = someClass; } public void MyMethod(string method) { method = "test" someClass.DoSomething(method); } } class Someclass { …
Ich habe Code in einem Test mit Moq: public class Invoice { ... public bool IsInFinancialYear(FinancialYearLookup financialYearLookup) { return InvoiceDate >= financialYearLookup.StartDate && InvoiceDate <= financialYearLookup.EndDate; } ... } In einem Unit-Test versuche ich, diese Methode zu verspotten und sie als wahr zurückzugeben mockInvoice.Setup(x => x.IsInFinancialYear()).Returns(true); Gibt es sowieso diese …
Das ist mein Controller: 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); } } Wie Sie …
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.