NUnit to platforma testów jednostkowych typu open source dla .NET i Silverlight napisana w języku C #. Służy temu samemu celowi, co JUnit lub TestNG w świecie Java i jest jednym z wielu w rodzinie xUnit.
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą fachową, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …
Mam taki test: [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 => x.Controller).Returns("page"); …
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą specjalistyczną, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …
Jak użyć, Assert.Throwsaby potwierdzić typ wyjątku i faktyczne sformułowanie wiadomości. Coś takiego: Assert.Throws<Exception>( ()=>user.MakeUserActive()).WithMessage("Actual exception message") Metoda, którą testuję, rzuca wiele wiadomości tego samego typu, z różnymi wiadomościami, i potrzebuję sposobu na sprawdzenie, czy poprawna wiadomość jest generowana w zależności od kontekstu.
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 …
Próbuję zakończyć ten program obsługi wyjątków: if (ConfigurationManager.ConnectionStrings["ConnectionString"]==null) { string pathOfActiveConfigFile = ...? throw new ConfigurationErrorsException( "You either forgot to set the connection string, or " + "you're using a unit test framework that looks for "+ "the config file in strange places, update this file : " + pathOfActiveConfigFile); …
Właśnie zainstalowałem VS 2017. Mam projekt używający NUnit dla przypadków testowych. Ctrl+ R- Tnie uruchamia już testów, a Eksplorator testów nie znajduje już żadnych przypadków testowych oznaczonych atrybutem TestCase. Czy jest już sposób na uruchomienie NUnit lub aktualizacja, którą mogłem znaleźć? Ponownie zainstalowałem NUnit z Menedżera pakietów Nuget do najnowszej …
Wszystko poniżej jest zrobione w VS2019, przy użyciu .NET Framework 4.7 i NUnit + NUnit3TestAdapter Stworzyłem zespół o nazwie Exitus.Tests i dodałem kilka testów jednostkowych. Jednak zrób kilka problemów z Nuget, których nie mogłem rozwiązać, stworzyłem inny projekt o nazwie Exitus.UnitTests i usunąłem kiedyś plik, który miałem w starym projekcie …
Odkryłem, że wydaje się, że są to dwa główne sposoby testowania wyjątków: Assert.Throws<Exception>(()=>MethodThatThrows()); [ExpectedException(typeof(Exception))] Który z nich byłby najlepszy? Czy jedna oferuje przewagę nad drugą? Czy jest to po prostu kwestia osobistych preferencji?
Chcesz ulepszyć ten post? Podaj szczegółowe odpowiedzi na to pytanie, w tym cytaty i wyjaśnij, dlaczego Twoja odpowiedź jest prawidłowa. Odpowiedzi, które nie są wystarczająco szczegółowe, można edytować lub usuwać. Zainstalowałem NUnit Test Adapter dla VS2012 + 2013. Kiedy po raz pierwszy zainstalowałem, testy adaptera pojawiały się, ale dzisiaj z …
NUnit ma funkcję o nazwie Wartości, jak poniżej: [Test] public void MyTest( [Values(1,2,3)] int x, [Values("A","B")] string s) { // ... } Oznacza to, że metoda testowa będzie działać sześć razy: MyTest(1, "A") MyTest(1, "B") MyTest(2, "A") MyTest(2, "B") MyTest(3, "A") MyTest(3, "B") Używamy teraz MSTest, ale czy istnieje odpowiednik …
Niedawno próbowałem użyć metody Assert.Equals () podczas pisania nowego testu NUnit. Po wykonaniu tej metody rzuca AssertionExceptionstwierdzenie, że Assert.Equals should not be used for Assertions. na pierwszy rzut oka jest to nieco zaskakujące. Co tu się dzieje?
Próbuję zapewnić, że jeden obiekt jest „równy” innemu obiektowi. Obiekty są po prostu instancjami klasy z wieloma właściwościami publicznymi. Czy istnieje łatwy sposób, aby NUnit potwierdzał równość na podstawie właściwości? To jest moje obecne rozwiązanie, ale myślę, że może być coś lepszego: Assert.AreEqual(LeftObject.Property1, RightObject.Property1) Assert.AreEqual(LeftObject.Property2, RightObject.Property2) Assert.AreEqual(LeftObject.Property3, RightObject.Property3) ... Assert.AreEqual(LeftObject.PropertyN, …
Mam następujące cztery testy, a ostatni zawiesza się po uruchomieniu. Dlaczego to się dzieje: [Test] public void CheckOnceResultTest() { Assert.IsTrue(CheckStatus().Result); } [Test] public async void CheckOnceAwaitTest() { Assert.IsTrue(await CheckStatus()); } [Test] public async void CheckStatusTwiceAwaitTest() { Assert.IsTrue(await CheckStatus()); Assert.IsTrue(await CheckStatus()); } [Test] public async void CheckStatusTwiceResultTest() { Assert.IsTrue(CheckStatus().Result); // This …
Niedawno budowałem ramy testowe dla trochę języka C #, nad którym pracowałem. Mam skonfigurowany NUnit i nowy projekt w moim obszarze roboczym, aby przetestować komponent. Wszystko działa dobrze, jeśli załaduję moje testy jednostkowe z Nunit (v2.4), ale doszedłem do punktu, w którym naprawdę przydatne byłoby uruchomienie w trybie debugowania i …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.