@Before public void setUp() { inventoryTable = new InventoryTable("12345", "TypeMoTo", "Machina"); inventoryTable.setTerminalId("12345"); inventoryTable.setMachineType("TypeMoTo"); inventoryTable.setMachineName("Machina"); } @Test public void testThis() { assertThat(inventoryTable.getTerminalId()).isEqualTo("12345"); assertThat(inventoryTable.getMachineType()).isEqualTo("TypeMoTo"); assertThat(inventoryTable.getMachineName()).isEqualTo("Machina"); }
4 Réponses :
@Before public void setUp() { inventoryTable = new InventoryTable("12345", "TypeMoTo", "Machina"); } @Test public void testCopyConstructor() { InventoryTable it = new InventoryTable(inventoryTable); assertThat(inventoryTable.getTerminalId()).isEqualTo("12345"); assertThat(inventoryTable.getMachineType()).isEqualTo("TypeMoTo"); assertThat(inventoryTable.getMachineName()).isEqualTo("Machina"); } Second constructor is Copy Constructor In setup you already have one instance, so You can pass it to Copy Constructor and asserts values.
Même que vous le faites pendant 1ère une, vous pouvez utiliser votre ancien objet pour créer de nouveaux inventaire code> pour le 2e constructeur.
En général, vous pouvez faire:
@Test public void testSecondConstructor() { // setup: InventoryTableDTO dto =Mockito.mock(InventoryTableDTO.class); Mockito.when(dto.getTerminalId()).thenReturn("12345"); Mockito.when(dto.getMachineType()).thenReturn("TypeMoTo"); Mockito.when(dto.getMachineName()).thenReturn("Machina"); // when: InventoryTable underTest = new InventoryTable(dto); // then: assertThat(inventoryTable.getTerminalId()).isEqualTo("12345"); assertThat(inventoryTable.getMachineType()).isEqualTo("TypeMoTo"); assertThat(inventoryTable.getMachineName()).isEqualTo("Machina"); }
Tout d'abord, je pense que vous devriez simplement vous débarrasser de votre tests: p> @Before code> car l'objet testé est initialisé différemment en fonction du boîtier et de l'introduction des cas à l'intérieur des tests. Mais d'abord également un petit changement de votre 2e constructeur, pour utiliser le 1er:
Peut-être devriez-vous vérifier votre premier test également. Qu'est-ce qu'il essaie après @Before Setters?
Test de messagerie instantanée Si les valeurs que j'ai attribuées dans les paramètres sont reçues par les getters
Oui mais testez-vous le constructeur ou les setters?