Sto scrivendo unit test per un sistema di guida per un videogioco. Il sistema ha diversi comportamenti (evitare quest'area a causa del motivo A, evitare quest'area a causa del motivo B, ognuno aggiungendo un po 'di contesto a una mappa della regione. Una funzione separata quindi analizza la mappa e …
Ho letto molte cose su TDD ma ho ancora dubbi. Ad esempio, ho questi diagrammi di classe: È un semplice esempio, solo per conoscere TDD e oggetti finti. Quale test dovrei scrivere per primo? Prodotto , quindi Linea e ultimo, Ordine ? Se lo faccio, dovrei usare Line e Product …
Il test unitario è al 100% o non è affatto un affare? Stavo sfogliando i miei vecchi progetti e ho iniziato ad aggiungere funzionalità, questa volta con test unitari. Tuttavia, questo alla fine è inutile se sto per riutilizzare componenti passati che non hanno test unitari? Devo scrivere test unitari …
In che misura testate i componenti interni / privati di una classe / modulo / pacchetto / ecc? Li provi o provi semplicemente l'interfaccia con il mondo esterno? Un esempio di questi metodi interni è privato. Ad esempio, immagina un parser di discesa ricorsivo , che ha diverse procedure interne …
Se sto usando un'istruzione switch per gestire i valori di una enum (di proprietà della mia classe) e ho un caso per ogni possibile valore - vale la pena aggiungere codice per gestire il caso "predefinito"? enum MyEnum { MyFoo, MyBar, MyBat } MyEnum myEnum = GetMyEnum(); switch (myEnum) { …
Quindi sto cercando di rendere i miei test unitari il più precisi possibile, ma diventa problematico quando collaudo alcuni semplici metodi Aggiungi / Elimina. Per il metodo add, devo fondamentalmente creare un oggetto fittizio e aggiungerlo, quindi dopo che il test ha esito positivo, devo eliminare l'oggetto fittizio. E per …
Quando realizzo un'app Web, collaudo il mio lavoro sul browser per vedere se ricevo errori e correggerli. Ho realizzato applicazioni complesse e testare in questo modo è stato facile e veloce. Ho visto molti video su YouTube riguardanti phpunit e non riesco a trovare uno scopo. Perché questa libreria è …
A volte finisco per scrivere casi di test unitari per il codice che altri sviluppatori hanno scritto. Ci sono occasioni in cui davvero non so cosa stia cercando di fare lo sviluppatore (la parte aziendale) e manipolo il test case per ottenere la linea verde. Queste cose sono normali nel …
Sto lavorando all'elaborazione delle immagini (principalmente OCR) e mi chiedo come dovrei integrare i test unitari nel mio sviluppo. Sto già utilizzando i test unitari per un tipo di codice più "comune", ma quando ho a che fare con il codice di elaborazione delle immagini non sono sicuro di come …
Il modello di strategia funziona bene per evitare enormi se ... altro costrutti e rendere più facile aggiungere o sostituire funzionalità. Tuttavia, a mio avviso lascia ancora un difetto. Sembra che in ogni implementazione ci sia ancora bisogno di un costrutto ramificato. Potrebbe essere una fabbrica o un file di …
Ecco un esempio: la mia applicazione web contiene elementi trascinabili. Quando si trascina un elemento, il browser produce una "immagine fantasma". Voglio rimuovere "l'immagine fantasma" durante il trascinamento e scrivo un test per questo comportamento. Il mio problema è che inizialmente non ho idea di come risolvere questo bug e …
Per correggere un bug in un'applicazione, ho modificato un metodo denominato postLoginaggiungendo una chiamata a un metodo esistente denominato getShoppingCart. Codice protected void postLogin() { getShoppingCart(); } Tuttavia, non sono sicuro di quale sia il modo migliore per scrivere un test unitario postLogin. Approccio 1 Usa verifica da Mockito per …
Ho un sacco di classi che si occupano della validazione dei valori. Ad esempio, una RangeValidatorclasse controlla se un valore è compreso nell'intervallo specificato. Ogni classe di validazione contiene due metodi is_valid(value):, che restituisce Trueo Falsedipende dal valore e ensure_valid(value)che verifica un valore specificato e non fa nulla se il …
Quindi ho il seguente codice in uso in tutto il mio sistema. Attualmente stiamo scrivendo i test unitari in modo retrospettivo (meglio tardi che mai è stato il mio argomento), ma non vedo come questo sarebbe testabile? public function validate($value, Constraint $constraint) { $searchEntity = EmailAlertToSearchAdapter::adapt($value); $queryBuilder = SearcherFactory::getSearchDirector($searchEntity->getKeywords()); $adapter …
In TDD c'è la sintassi Arrange Act Assert (AAA): [Test] public void Test_ReturnItemForRefund_ReturnsStockOfBlackSweatersAsTwo_WhenOneInStockAndOneIsReturned() { //Arrange ShopStock shopStock = new ShopStock(); Item blackSweater = new Item("ID: 25"); shopStock.AddStock(blackSweater); int expectedResult = 2; Item blackSweaterToReturn = new Item("ID: 25"); //Act shopStock.ReturnItemForRefund(blackSweaterToReturn); int actualResult = shopStock.GetStock("ID: 25"); //Assert Assert.AreEqual(expectedResult, actualResult); } Nei test …
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.