Wiem, że możesz uruchomić wszystkie testy w określonej klasie, używając: mvn test -Dtest=classname Ale chcę uruchomić indywidualną metodę i -Dtest = nazwa_klasy. Nazwa_metody wydaje się nie działać.
Jeśli piszesz bibliotekę lub aplikację, dokąd idą pliki testów jednostkowych? Miło jest oddzielić pliki testowe od głównego kodu aplikacji, ale niewygodne jest umieszczenie ich w podkatalogu „testy” w katalogu głównym aplikacji, ponieważ utrudnia importowanie modułów, które będziesz testować. Czy jest tutaj najlepsza praktyka?
Buduję bibliotekę klas, która będzie miała kilka publicznych i prywatnych metod. Chcę mieć możliwość testowania jednostkowego metod prywatnych (głównie podczas opracowywania, ale może to również być przydatne do przyszłego refaktoryzacji). Jaki jest właściwy sposób to zrobić?
Jestem nowy w testowaniu jednostkowym i staram się dowiedzieć, czy powinienem zacząć używać więcej „wewnętrznego” modyfikatora dostępu. Wiem, że jeśli użyjemy „wewnętrznego” i ustawimy zmienną asemblerową „InternalsVisibleTo”, możemy przetestować funkcje, których nie chcemy ogłaszać publicznie z projektu testowego. To sprawia, że myślę, że zawsze powinienem używać „wewnętrznego”, ponieważ przynajmniej każdy …
Zastanawiałem się, jak testować jednostkowo klasy abstrakcyjne i klasy rozszerzające klasy abstrakcyjne. Czy powinienem przetestować klasę abstrakcyjną, rozszerzając ją, usuwając metody abstrakcyjne, a następnie testując wszystkie konkretne metody? Potem testujesz tylko metody, które zastępuję i testujesz metody abstrakcyjne w testach jednostkowych dla obiektów, które rozszerzają moją klasę abstrakcyjną? Czy powinienem …
Mam metodę, która jest wywoływana dwukrotnie i chcę uchwycić argument drugiego wywołania metody. Oto, co próbowałem: ArgumentCaptor<Foo> firstFooCaptor = ArgumentCaptor.forClass(Foo.class); ArgumentCaptor<Foo> secondFooCaptor = ArgumentCaptor.forClass(Foo.class); verify(mockBar).doSomething(firstFooCaptor.capture()); verify(mockBar).doSomething(secondFooCaptor.capture()); // then do some assertions on secondFooCaptor.getValue() Ale dostaję TooManyActualInvocationswyjątek, ponieważ Mockito uważa, że doSomethingnależy to nazwać tylko raz. Jak mogę zweryfikować argument drugiego …
Chcę wykonać metody testowe opatrzone adnotacjami @Testw określonej kolejności. Na przykład: public class MyTest { @Test public void test1(){} @Test public void test2(){} } Chcę mieć pewność, że uruchomię się test1()przed test2()każdym uruchomieniem MyTest, ale nie mogłem znaleźć adnotacji takiej jak @Test(order=xx). Myślę, że jest to dość ważna funkcja dla …
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 …
Chcę napisać test, aby ustalić, że wyjątek nie jest zgłaszany w danych okolicznościach. Łatwo jest sprawdzić, czy zgłoszony został wyjątek ... sInvalidPath=AlwaysSuppliesAnInvalidPath() self.assertRaises(PathIsNotAValidOne, MyObject, sInvalidPath) ... ale jak możesz zrobić odwrotnie . Coś w tym stylu, o co mi chodzi ... sValidPath=AlwaysSuppliesAValidPath() self.assertNotRaises(PathIsNotAValidOne, MyObject, sValidPath)
Napisałem fabrykę do produkcji java.sql.Connectionprzedmiotów: public class MySQLDatabaseConnectionFactory implements DatabaseConnectionFactory { @Override public Connection getConnection() { try { return DriverManager.getConnection(...); } catch (SQLException e) { throw new RuntimeException(e); } } } Chciałbym zweryfikować przekazane parametry DriverManager.getConnection, ale nie wiem, jak wyśmiewać metodę statyczną. Używam JUnit 4 i Mockito do moich …
OK, więc @Ignoreadnotacja jest dobra do oznaczenia, że przypadek testowy nie powinien zostać uruchomiony. Czasami jednak chcę zignorować test oparty na informacjach wykonawczych. Przykładem może być test współbieżności, który należy uruchomić na maszynie z określoną liczbą rdzeni. Jeśli ten test zostałby uruchomiony na maszynie jednoprocesorowej, nie sądzę, że poprawne byłoby …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte w zeszłym roku . Popraw to pytanie Przeczytałem ten post o tym, jak przetestować metody prywatne. Zwykle …
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.